UIElement 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
UIElement 是以 Windows Presentation Foundation (WPF) 項目和基本呈現方式特性為建置基礎之 WPF 核心層級實作的基底類別。
public ref class UIElement : System::Windows::Media::Visual, System::Windows::IInputElement, System::Windows::Media::Animation::IAnimatable
[System.Windows.Markup.UidProperty("Uid")]
public class UIElement : System.Windows.Media.Visual, System.Windows.IInputElement, System.Windows.Media.Animation.IAnimatable
[<System.Windows.Markup.UidProperty("Uid")>]
type UIElement = class
inherit Visual
interface IAnimatable
interface IInputElement
[<System.Windows.Markup.UidProperty("Uid")>]
type UIElement = class
inherit Visual
interface IInputElement
interface IAnimatable
Public Class UIElement
Inherits Visual
Implements IAnimatable, IInputElement
- 繼承
- 衍生
- 屬性
- 實作
備註
UIElement 提供元素配置特性的起點,也會公開衍生類別可以覆寫的虛擬方法,這可能會影響元素及其子專案的版面配置轉譯行為。
一般而言,元素的大部分輸入和焦點行為也會定義在 類別中 UIElement 。 這包括鍵盤、滑鼠和手寫筆輸入和相關狀態屬性的事件。 其中許多事件都是路由事件,而許多輸入相關事件都有反升路由版本,以及事件的通道版本。 這些配對的事件通常是控制作者最感興趣的事件。
UIElement 也包含與 WPF 事件模型相關的 API,包括可引發來自項目實例之指定路由事件的方法。
就架構而言, UIElement 可以大致相當於 Win32 程式設計中的視窗句柄,或動態 HTML 中的元素 (DHTML) 程式設計。 UIElement 是 WPF 核心層級的基底專案。
UIElement具有下列由 類別特別定義的UIElement功能:
包含由配置系統解譯時,用來調整和定位 (可能子項目的 UIElement 邏輯)
可以回應使用者輸入 (包括透過其事件路由處理或命令路由傳送至的控制權)
可以引發透過邏輯專案樹狀結構移動路線的路由事件
支援動畫系統的一些層面
FrameworkElement 是建置在 上的 UIElementWPF 架構層級實作類別,並且會新增與 WPF 架構層級的特定互動。 FrameworkElement 會新增並定義下列功能:
其他架構特定的版面配置特性
支援更豐富的屬性元數據報告
特定輸入基類及其附加屬性或附加事件的類別特定實作
樣式支援
進一步的動畫支援
另一個相關類別是 ContentElement。 類別 ContentElement 會實作許多與 相同的成員 UIElement;這兩個類別之間的差異必須與整體內容模型中的預期位置相同。 UIElement衍生類別通常會定義相對嚴格的內容模型,這表示標記中哪些元素可能是子元素的限制。 在 中 UIElement,可能會有較不嚴格的子內容容量,但該容量通常集中於指定的內容屬性中。 ContentElement衍生類別通常不會限制內容,以支援流程格式檔等案例。
重要
Visibility 狀態會影響該元素的所有輸入處理。 不可見的元素不會參與點擊測試,而且不會收到輸入事件,即使滑鼠停留在元素的界限上,如果可見的話。
建構函式
UIElement() |
初始化 UIElement 類別的新執行個體。 |
欄位
屬性
AllowDrop |
取得或設定此元素是否可以當做拖放操作目標的值。 這是相依性屬性。 |
AreAnyTouchesCaptured |
取得值,這個值表示是否至少有一個觸控擷取至這個項目。 |
AreAnyTouchesCapturedWithin |
取得值,這個值表示是否至少有一個觸控擷取至這個項目或其視覺化樹狀結構中的任何子項目。 |
AreAnyTouchesDirectlyOver |
取得值,這個值表示是否至少有一個觸控在這個項目上按下。 |
AreAnyTouchesOver |
取得值,這個值表示是否至少有一個觸控在這個項目或其視覺化樹狀結構中的任何子項目上按下。 |
BitmapEffect |
已淘汰.
已淘汰.
取得或設定直接套用至此元素呈現內容的點陣圖效果。 這是相依性屬性。 |
BitmapEffectInput |
已淘汰.
已淘汰.
取得或設定直接套用至此元素呈現內容的點陣圖效果輸入來源。 這是相依性屬性。 |
CacheMode |
取得或設定 UIElement 的快取表示。 |
Clip |
取得或設定用來定義項目內容外框的幾何。 這是相依性屬性。 |
ClipToBounds |
取得或設定是否裁剪此元素 (或來自此元素的子元素) 的內容,以符合容器元素大小的值。 這是相依性屬性。 |
CommandBindings |
取得與這個項目關聯的 CommandBinding 物件集合。 CommandBinding 會啟用此項目的命令處理,並宣告命令、其事件及此項目所附加之處理常式之間的連結。 |
DependencyObjectType |
DependencyObjectType取得包裝這個實體之 CLR 型別的 。 (繼承來源 DependencyObject) |
DesiredSize |
取得這個項目在版面配置處理序的測量傳遞期間所計算的大小。 |
Dispatcher |
取得與這個 Dispatcher 關聯的 DispatcherObject。 (繼承來源 DispatcherObject) |
Effect |
取得或設定要套用至 UIElement 的點陣圖效果。 這是相依性屬性。 |
Focusable |
取得或設定元素是否能夠接收焦點的值。 這是相依性屬性。 |
HasAnimatedProperties |
取得值,這個值表示此項目是否有任何動畫屬性。 |
HasEffectiveKeyboardFocus |
取得值,指出 UIElement 是否具有焦點。 |
InputBindings |
取得與此元素關聯的輸入繫結集合。 |
IsArrangeValid |
取得值,這個值表示在此項目之配置中子項目的計算大小和位置是有效的。 |
IsEnabled |
取得或設定值,指出是否在使用者介面中啟用這個專案, (UI) 。 這是相依性屬性。 |
IsEnabledCore |
取得值,這個值會成為衍生類別中 IsEnabled 的傳回值。 |
IsFocused |
取得值,決定這個項目是否具有邏輯焦點。 這是相依性屬性。 |
IsHitTestVisible |
取得或設定宣告此元素是否可以從其呈現內容的某些部分傳回,作為點擊測試結果的值。 這是相依性屬性。 |
IsInputMethodEnabled |
取得值,指出是否啟用輸入法編輯器 (輸入法) 等輸入法系統來處理此項目的輸入。 |
IsKeyboardFocused |
取得值,指出這個項目是否具有鍵盤焦點。 這是相依性屬性。 |
IsKeyboardFocusWithin |
取得值,表示鍵盤焦點是否在項目或其視覺化樹狀結構子項目內的任何位置。 這是相依性屬性。 |
IsManipulationEnabled |
取得或設定值,這個值表示是否在此 UIElement 上啟用操作事件。 |
IsMeasureValid |
取得值,這個值表示配置測量所傳回的目前大小是否有效。 |
IsMouseCaptured |
取得值,指出是否將滑鼠擷取至這個項目。 這是相依性屬性。 |
IsMouseCaptureWithin |
取得值,這個值決定滑鼠擷取是由這個項目持有,還是由其視覺化樹狀中的子項目持有。 這是相依性屬性。 |
IsMouseDirectlyOver |
取得值,指出滑鼠指標位置是否與點擊測試結果對應,該結果會將複合項目納入考量。 這是相依性屬性。 |
IsMouseOver |
取得值,指出滑鼠指標是否在這個項目上方 (包括視覺化樹狀中的子項目)。 這是相依性屬性。 |
IsSealed |
取得值,這個值表示此執行個體目前是否已密封 (唯讀)。 (繼承來源 DependencyObject) |
IsStylusCaptured |
取得值,指出這個項目是否擷取手寫筆。 這是相依性屬性。 |
IsStylusCaptureWithin |
取得值,這個值決定手寫筆擷取是由這個項目持有,還是由項目範圍及其視覺化樹狀結構中的項目持有。 這是相依性屬性。 |
IsStylusDirectlyOver |
取得值,指出手寫筆位置是否與點擊測試結果相對應,該結果會將複合項目納入考量。 這是相依性屬性。 |
IsStylusOver |
取得值,指出手寫筆游標是否位在這個項目上方 (包括視覺子項目)。 這是相依性屬性。 |
IsVisible |
取得值,指出這個元素是否顯示在使用者介面 (UI) 中。 這是相依性屬性。 |
Opacity |
取得或設定在使用者介面 (UI) 轉譯時套用至整個 UIElement 的不透明度因數。 這是相依性屬性。 |
OpacityMask |
取得或設定套用至任何 Alpha 色板遮罩 (用來遮住此項目的呈現內容) 時實作 Brush 的不透明度遮罩。 這是相依性屬性。 |
PersistId |
已淘汰.
取得值,這個值可唯一識別此項目。 |
RenderSize |
取得 (或設定) 這個項目的最終呈現大小。 |
RenderTransform |
取得或設定影響這個項目呈現位置的轉換資訊。 這是相依性屬性。 |
RenderTransformOrigin |
取得或設定 RenderTransform (相對於項目邊界) 宣告任何可能呈現轉換的中心點。 這是相依性屬性。 |
SnapsToDevicePixels |
取得或設定值,該值判斷這個項目的呈現在呈現期間是否該使用裝置特定像素的設定。 這是相依性屬性。 |
StylusPlugIns |
取得與這個項目關聯的所有手寫筆外掛程式 (自訂) 物件集合。 |
TouchesCaptured |
取得已擷取至這個項目的所有觸控裝置。 |
TouchesCapturedWithin |
取得已擷取至這個項目或其視覺化樹狀結構中之任何子項目的所有觸控裝置。 |
TouchesDirectlyOver |
取得在這個項目上停留的所有觸控裝置。 |
TouchesOver |
取得在這個項目或其視覺化樹狀結構中之任何子項目上停留的所有觸控裝置。 |
Uid |
取得或設定這個項目的唯一識別項 (適用於當地語系化)。 這是相依性屬性。 |
Visibility |
取得或設定使用者介面 (UI) 這個項目的可見性。 這是相依性屬性。 |
VisualBitmapEffect |
已淘汰.
已淘汰.
取得或設定 BitmapEffect 的 Visual 值。 (繼承來源 Visual) |
VisualBitmapEffectInput |
已淘汰.
已淘汰.
取得或設定 BitmapEffectInput 的 Visual 值。 (繼承來源 Visual) |
VisualBitmapScalingMode |
取得或設定 BitmapScalingMode 的 Visual。 (繼承來源 Visual) |
VisualCacheMode |
取得或設定 Visual 的快取表示。 (繼承來源 Visual) |
VisualChildrenCount |
取得 Visual 的子項目數量。 (繼承來源 Visual) |
VisualClearTypeHint |
取得或設定 ClearTypeHint,以決定 Visual 中的 ClearType 呈現方式。 (繼承來源 Visual) |
VisualClip |
取得或設定 Visual 的裁剪區域做為 Geometry 值。 (繼承來源 Visual) |
VisualEdgeMode |
取得或設定 Visual 的邊緣模式做為 EdgeMode 值。 (繼承來源 Visual) |
VisualEffect |
取得或設定要套用至 Visual 的點陣圖效果。 (繼承來源 Visual) |
VisualOffset |
取得或設定視覺物件的位移值。 (繼承來源 Visual) |
VisualOpacity |
取得或設定 Visual 的不透明度。 (繼承來源 Visual) |
VisualOpacityMask |
取得或設定 Brush 值,這個值表示 Visual 的不透明遮罩。 (繼承來源 Visual) |
VisualParent |
取得視覺物件的視覺化樹狀結構父物件。 (繼承來源 Visual) |
VisualScrollableAreaClip |
取得或設定 Visual 的可捲動裁剪區域。 (繼承來源 Visual) |
VisualTextHintingMode |
取得或設定 Visual 的 TextHintingMode。 (繼承來源 Visual) |
VisualTextRenderingMode |
取得或設定 Visual 的 TextRenderingMode。 (繼承來源 Visual) |
VisualTransform | (繼承來源 Visual) |
VisualXSnappingGuidelines |
取得或設定 X 座標 (垂直) 導線集合。 (繼承來源 Visual) |
VisualYSnappingGuidelines |
取得或設定 Y 座標 (水平) 導線集合。 (繼承來源 Visual) |
方法
事件
DragEnter |
輸入系統報告其下以此項目作為拖曳目標的拖曳事件時發生。 |
DragLeave |
輸入系統報告其下以此項目作為拖曳來源的拖曳事件時發生。 |
DragOver |
在輸入系統回報以此項目作為可能置放目標的基礎拖曳事件時發生。 |
Drop |
輸入系統報告其下以這個項目作為置放目標的置放事件時發生。 |
FocusableChanged |
發生於 Focusable 屬性的值變更時。 |
GiveFeedback |
輸入系統報告其下牽涉此元素的拖放事件時發生。 |
GotFocus |
此元素取得邏輯焦點時發生。 |
GotKeyboardFocus |
鍵盤以此元素為焦點時發生。 |
GotMouseCapture |
此元素擷取滑鼠時發生。 |
GotStylusCapture |
此元素擷取手寫筆時發生。 |
GotTouchCapture |
當觸控擷取至這個項目時發生。 |
IsEnabledChanged |
當這個項目的 IsEnabled 屬性值變更時發生。 |
IsHitTestVisibleChanged |
當這個項目的 IsHitTestVisible 相依性屬性值變更時發生。 |
IsKeyboardFocusedChanged |
當這個項目的 IsKeyboardFocused 屬性值變更時發生。 |
IsKeyboardFocusWithinChanged |
當這個項目的 IsKeyboardFocusWithin 屬性值變更時發生。 |
IsMouseCapturedChanged |
當這個項目的 IsMouseCaptured 屬性值變更時發生。 |
IsMouseCaptureWithinChanged |
當這個項目的 IsMouseCaptureWithinProperty 值變更時發生。 |
IsMouseDirectlyOverChanged |
當這個項目的 IsMouseDirectlyOver 屬性值變更時發生。 |
IsStylusCapturedChanged |
當這個項目的 IsStylusCaptured 屬性值變更時發生。 |
IsStylusCaptureWithinChanged |
當這個項目的 IsStylusCaptureWithin 屬性值變更時發生。 |
IsStylusDirectlyOverChanged |
當這個項目的 IsStylusDirectlyOver 屬性值變更時發生。 |
IsVisibleChanged |
當這個項目的 IsVisible 屬性值變更時發生。 |
KeyDown |
焦點在這個項目上方且按下按鍵時發生。 |
KeyUp |
焦點在這個項目上方且放開按鍵時發生。 |
LayoutUpdated |
當目前 Dispatcher 的數個關聯視覺化項目的配置變更時發生。 |
LostFocus |
此元素失去邏輯焦點時發生。 |
LostKeyboardFocus |
鍵盤不再以此元素為焦點時發生。 |
LostMouseCapture |
此元素失去滑鼠擷取時發生。 |
LostStylusCapture |
此元素失去手寫筆擷取時發生。 |
LostTouchCapture |
當這個項目失去觸控擷取時發生。 |
ManipulationBoundaryFeedback |
當操作遇到界限時發生。 |
ManipulationCompleted |
當對 UIElement 物件進行的操作和慣性完成時發生。 |
ManipulationDelta |
輸入裝置在操作期間變更位置時發生。 |
ManipulationInertiaStarting |
當輸入裝置在操作期間失去和 UIElement 物件的通訊以及慣性開始時發生。 |
ManipulationStarted |
當輸入裝置開始對 UIElement 物件進行操作時發生。 |
ManipulationStarting |
發生於第一次建立操作處理器時。 |
MouseDown |
指標在此元素上方且按下任何滑鼠按鈕時發生。 |
MouseEnter |
滑鼠指標進入此元素的邊界時發生。 |
MouseLeave |
滑鼠指標離開此元素的邊界時發生。 |
MouseLeftButtonDown |
滑鼠指標在此元素上方且按下滑鼠左按鈕時發生。 |
MouseLeftButtonUp |
滑鼠指標在此元素上方且放開滑鼠左按鈕時發生。 |
MouseMove |
滑鼠指標在此元素上方移動時發生。 |
MouseRightButtonDown |
滑鼠指標在此元素上方且按下滑鼠右按鈕時發生。 |
MouseRightButtonUp |
滑鼠指標在此元素上方且放開滑鼠右按鈕時發生。 |
MouseUp |
在此元素上方放開任何滑鼠按鈕時發生。 |
MouseWheel |
滑鼠指標在此元素上方且使用者滾動滑鼠滾輪時發生。 |
PreviewDragEnter |
輸入系統報告其下以此項目作為拖曳目標的拖曳事件時發生。 |
PreviewDragLeave |
輸入系統報告其下以此項目作為拖曳來源的拖曳事件時發生。 |
PreviewDragOver |
在輸入系統回報以此項目作為可能置放目標的基礎拖曳事件時發生。 |
PreviewDrop |
輸入系統報告其下以這個項目作為置放目標的置放事件時發生。 |
PreviewGiveFeedback |
拖放操作開始時發生。 |
PreviewGotKeyboardFocus |
鍵盤以此元素為焦點時發生。 |
PreviewKeyDown |
焦點在這個項目上方且按下按鍵時發生。 |
PreviewKeyUp |
焦點在這個項目上方且放開按鍵時發生。 |
PreviewLostKeyboardFocus |
鍵盤不再以此元素為焦點時發生。 |
PreviewMouseDown |
指標在此元素上方且按下任何滑鼠按鈕時發生。 |
PreviewMouseLeftButtonDown |
滑鼠指標在此元素上方且按下滑鼠左按鈕時發生。 |
PreviewMouseLeftButtonUp |
滑鼠指標在此元素上方且放開滑鼠左按鈕時發生。 |
PreviewMouseMove |
滑鼠指標在此元素上方且移動滑鼠指標時發生。 |
PreviewMouseRightButtonDown |
滑鼠指標在此元素上方且按下滑鼠右按鈕時發生。 |
PreviewMouseRightButtonUp |
滑鼠指標在此元素上方且放開滑鼠右按鈕時發生。 |
PreviewMouseUp |
滑鼠指標在此元素上方且放開任何滑鼠按鈕時發生。 |
PreviewMouseWheel |
滑鼠指標在此元素上方且使用者滾動滑鼠滾輪時發生。 |
PreviewQueryContinueDrag |
拖放操作期間,鍵盤或滑鼠按鈕狀態變更時發生。 |
PreviewStylusButtonDown |
手寫筆指標在此元素上方且按下手寫筆按鈕時發生。 |
PreviewStylusButtonUp |
手寫筆指標在此元素上方且放開手寫筆按鈕時發生。 |
PreviewStylusDown |
手寫筆在此項目上方且碰觸數位板時發生。 |
PreviewStylusInAirMove |
手寫筆在項目上方移動,但沒有真正碰觸數位板時發生。 |
PreviewStylusInRange |
手寫筆在此項目上方,且夠靠近數位板而被偵測到時發生。 |
PreviewStylusMove |
手寫筆在項目上方移動時發生。 手寫筆必須在受到數位板偵測時移動才能引發此事件,否則會改為引發 PreviewStylusInAirMove。 |
PreviewStylusOutOfRange |
手寫筆遠離數位板而無法被偵測到時發生。 |
PreviewStylusSystemGesture |
使用者執行其中一種手寫筆筆勢時發生。 |
PreviewStylusUp |
手寫筆在此項目上方,且使用者將手寫筆舉起離開數位板時發生。 |
PreviewTextInput |
此元素以一種與裝置無關的方式取得文字時發生。 |
PreviewTouchDown |
手指在這個項目上方且在螢幕上觸控時發生。 |
PreviewTouchMove |
手指在這個項目上方且在螢幕上移動時發生。 |
PreviewTouchUp |
手指在這個項目上方且離開螢幕時發生。 |
QueryContinueDrag |
拖放操作期間,鍵盤或滑鼠按鈕狀態變更時發生。 |
QueryCursor |
要求顯示游標時發生。 每當滑鼠指標移動至新位置時,都會引發此事件,這意謂游標物件可能會根據其新位置而變更。 |
StylusButtonDown |
手寫筆指標在此元素上方且按下手寫筆按鈕時發生。 |
StylusButtonUp |
手寫筆指標在此元素上方且放開手寫筆按鈕時發生。 |
StylusDown |
手寫筆在此項目上方且碰觸數位板時發生。 |
StylusEnter |
手寫筆進入此元素的邊界時發生。 |
StylusInAirMove |
手寫筆在項目上方移動,但沒有真正碰觸數位板時發生。 |
StylusInRange |
手寫筆在此項目上方,且夠靠近數位板而被偵測到時發生。 |
StylusLeave |
手寫筆離開元素的邊界時發生。 |
StylusMove |
當手寫筆移至此項目上方時發生。 手寫筆在數位板上必須移動才會引發這個事件。 否則,會改為引發 StylusInAirMove。 |
StylusOutOfRange |
手寫筆在此項目上方,且遠離數位板而無法被偵測到時發生。 |
StylusSystemGesture |
使用者執行其中一種手寫筆筆勢時發生。 |
StylusUp |
手寫筆在此項目上方,且使用者將手寫筆舉起離開數位板時發生。 |
TextInput |
此元素以一種與裝置無關的方式取得文字時發生。 |
TouchDown |
手指在這個項目上方且在螢幕上觸控時發生。 |
TouchEnter |
當觸控從這個項目的界限外部移至內部時發生。 |
TouchLeave |
當觸控從這個項目的界限內部移至外部時發生。 |
TouchMove |
手指在這個項目上方且在螢幕上移動時發生。 |
TouchUp |
手指在這個項目上方且離開螢幕時發生。 |