Control 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示使用 ControlTemplate 定義其外觀之 UI 元素的基類。 ContentControl、UserControl、ItemsControl 和數個實際控件的父類別。
public ref class Control : FrameworkElement
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Control : FrameworkElement
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class Control : FrameworkElement
Public Class Control
Inherits FrameworkElement
- 繼承
- 衍生
- 屬性
備註
Control 類別是您新增至應用程式及其 UI 之許多控件的基類。 Control 類別定義非常少的行為;您可以將實際的 Control 元素新增至 UI 的 XAML,但您通常會新增直接或間接繼承自 Control 的專案,例如 Button 或 ListBox。 如需您可以使用的控件清單,請參閱 Windows 應用程式的控制項。
使用 ControlTemplate 類型的 Template 屬性會指定控件的視覺外觀。 如果您想要變更控件的外觀,但保留其功能,您應該考慮建立新的 ControlTemplate ,而不是定義新的 Control 型類別。 如需詳細資訊,請參閱 控件範本。
Control 是 UserControl 的父代。 UserControl 是不需要視覺狀態之輕量型控件的預定基類。 雖然 UserControl 技術上繼承 Template 屬性,但您無法將範本套用至 UserControl。
控件的隱含樣式
針對 XAML 定義的每個實際控制件都有一個預設樣式,其中包含其預設控件範本。 控件可以有隱含樣式,這表示未明確設定 FrameworkElement.Style 屬性。 一旦有隱含樣式可用,就可以在該 Style 中使用 Setter 元素來設定控件的所有其他屬性。 Style 可以個別初始化控件與控件邏輯的其餘部分,而且可以設定不是每個屬性之程式代碼預設值的值。
隱含樣式會以索引鍵資源的形式存在,屬於 Windows 執行階段 的一部分,儲存在內部做為 XAML 的二進位表示法。 您可以取得特定控件樣式或一組完整樣式的複本,以查看如何定義樣式和控件範本。
根據預設,特定控件類型和隱含樣式的索引鍵/名稱之間的關聯是由 DefaultStyleKey 屬性的值所建立。 DefaultStyleKey 屬性受到保護,因此只有子類別化控件類別的人可以變更值。 如果您只是建立控件實例,例如在 XAML UI 中宣告控件,則預設樣式是以控件類型為基礎的隱含樣式。 如需詳細資訊,請參閱 DefaultStyleKey 中的。 您不需要將 DefaultStyleKey 值變更為使用不同的樣式,您只需要定義自己的 XAML 樣式 ,其具有與隱含樣式查閱相符且以 XAML 資源的形式存在的 相同 TargetType 。 如需詳細資訊,請參閱 控件範本。
視覺狀態模型
視覺狀態模型是一種技術,您可以只修改控件範本中定義的幾個屬性。 您可以變更屬性值,向使用者提供視覺回饋,以指出控件所執行的動作,以及可能進一步 UI 互動的提示。 控件的修改方式是將零持續時間或短期分鏡腳本動畫套用至範本中的某些屬性。 您也可以定義適用於狀態之間轉換的短期動畫。
視覺狀態本身會定義為控件範本的一部分。 每個視覺狀態都有一個名稱,因此控件邏輯可以叫用 GoToState 方法,以在特定邏輯狀態需要時載入每個視覺狀態。 視覺狀態會在視覺狀態群組內宣告,讓互斥的視覺狀態可確保一次只有一個這類狀態處於作用中狀態。 一旦載入相同群組的另一個視覺狀態,就會停止套用先前狀態的動畫,但另一個群組中的動畫可能仍在執行中,並套用其變更和視覺行為。 例如,控件可能有鍵盤焦點的視覺指標,以及指標的視覺指標。 因為這些是可以彼此獨立調整的UI模式,而且可以同時發生,所以它們各自定義在不同的視覺狀態群組中。
因為它是在 XAML 中定義為控件範本的一部分,所以您可以變更您在 UI 中使用的任何 XAML 控制件的視覺狀態行為。 不過,邏輯仍以預期在 內尋找特定視覺狀態群組和具名視覺狀態的控件為基礎。 因此,您必須非常小心地提供正確命名和結構化視覺狀態,以顯示控件行為的所有層面給使用者。 控件 範本中會簡短介紹視覺狀態。
控件的預設視覺狀態有時會使用連結庫動畫。 當您取代控制項範本或視覺狀態時,您應該嘗試保留連結庫動畫,因為這些動畫是控件在 UI 中外觀和風格的重要部分。 如需詳細資訊,請參閱 動畫概觀。
控件和焦點
Control 類別會定義數個影響 UI 鍵盤焦點行為的 API: FocusState 屬性和 IsFocusEngaged、 IsEnabled 和 IsTabStop 屬性。 啟用鍵盤焦點是確保UI可供存取的重要部分,因為每個可設定焦點的元素都會成為UI定位順序的一部分。 通常只會啟用互動式UI元素來接收鍵盤焦點。 例如, TextBox 是互動式的,因為使用者可以輸入文字,而 TextBlock 不是互動式的,因為文字是唯讀的。 衍生自 Control 的大部分類別都是合法互動的,因此可以聚焦在索引標籤順序中。
若要取得焦點,每個都必須是 true:
- 可見度 為 可見度
- IsEnabled為 true
- UIElement.IsTabStop 為 true
- 控件必須以已載入的範本具現化 (已 引發、連線至應用程式根視覺效果的控件) 如果您想要讓控件無法取得焦點,您可以將 UIElement.IsTabStop 設定為 false。 不過,如果您不想讓控件擁有焦點的原因,是因為它在您的UI中不是互動式的,您可能會想要將 IsEnabled 設定為 false ,讓每個人都能明顯缺乏互動。 許多控件都有針對 IsEnabled =false叫用的預先定義視覺狀態,例如標籤中的「呈現灰色」文字。
焦點變更可能會引發 GotFocus 或 LostFocus 事件。 雖然 (透過 GetFocusedElement 方法公開的 “FocusedElement” 值) 立即更新,但是 GotFocus 或 LostFocus 的變更通知會以異步方式發生。 這個異步焦點設計旨在避免在控制邏輯回應焦點變更太快時,對視覺狀態轉換產生閃爍。
Focus (Microsoft.UI.Xaml.FocusState) 方法可讓您以程序設計方式在控件上設定鍵盤焦點。 呼叫此方法時,可能會干擾使用者不預期鍵盤焦點時移動鍵盤焦點。 焦點 (Microsoft.UI.Xaml.FocusState ) 的主要案例是在載入整個 UI 頁面時設定第一個鍵盤焦點點,或在父控件容器收到最上層焦點 (時,將焦點設定為控件的特定部分,例如將文本框放在下拉式方塊) 。 如需詳細資訊,請參閱 Focus (Microsoft.UI.Xaml.FocusState) 。 FocusState 會追蹤焦點是程式設計還是用戶導向,這會對視覺狀態造成差異,特別是所有控件應該擁有之鍵盤焦點的視覺焦點指標。
在事件處理程式 上覆寫
每個 OnEvent 方法都代表對應 UIElement 事件的預先連接事件處理程式。 衍生自 Control 的實際控件可以覆寫 OnEvent 方法,並使用此方法來提供該輸入事件的控件特定處理和行為。 最常見的案例是使用事件處理程式,將事件標示為事件數據中 已處理 的事件。 在叫用任何在控件實例上有線的事件處理程式之前,控件程式代碼會先有機會處理這個事件。 當事件數據標示為 Handled 時,將不會呼叫控件實例上這類的其他處理程式。 此外,事件不會反升。
當它直接在 Control 上實作時, OnEvent 方法會有空的實作。 但控件階層中的每個上階可能都已提供實作。 您將無法看到此實作,因為它是內部機器碼。 在某些情況下,控件已經有現有的 OnEvent 覆寫,而該覆寫會標示事件 已處理。 提供控件的初始 OnEvent 覆寫之後,您進一步衍生自您自己的控件類別的任何控件也會繼承您定義的 OnEvent 覆寫。 您使用的任何實例也有該行為。
注意
應用程式程式代碼仍然可以處理可能已由控件的 OnEvent 方法邏輯標示為 Handled 的事件,但需要針對 UIElement.AddHandler 方法使用 handledEventsToo 參數。 如需詳細資訊,請參閱 UIElement.AddHandler 或 事件和路由事件概觀。
Control 類別會定義數個受保護的虛擬方法,每個方法都與架構層級的輸入事件相關聯。 這些方法旨在提供輸入事件的預先有線事件處理程式,讓控件可以強制執行該控件及其所有實例所使用的特定輸入行為。 例如,UIElement 定義了 PointerPressed 事件。 控件會使用空的定義來定義 OnPointerPressed 方法。 在基底 Control 建構函式內,所有相關輸入事件的事件連接包含 OnEvent 方法做為接聽程式/處理程式,一開始不會執行任何動作。 但現在您只要是控件作者變更輸入事件的行為,只需要為 OnEvent 方法提供新的覆寫定義 (,請確定您的建構函式呼叫基底) 。 該行為會繼承至所有實例或子類別,除非另一個子類別工具再次覆寫它。 因為 OnEvent 事件會先依序排列,所以在任何 UI 定義 XAML 之前,它們都可以調整事件數據,並可能變更其他接聽程式看到有關事件的條件。
即使您尚未自行覆寫任何 OnEvent 方法,特定控件類別中的現有 OnEvent 定義也會影響您作為控件的取用者。 這是因為現有的 On事件定義可能已經為事件提供處理,而該事件會將 Handled 屬性值設定為 true 的某些事件數據。 這樣會防止實例型事件處理甚至看到事件,並防止叫用您的處理程式。 此處發生的情況是,有一個刻意的控件設計會強制執行特定事件不應對控件很重要,可能是因為它們是與控件邏輯衝突的低階事件,或因為控件具有取代邏輯。 這是一個醒目範例是 ButtonBase 類別。 ButtonBase 類別有兩種行為,其會透過 OnPointerPressed 和 OnKeyDown 的原生覆寫來強制執行。 這樣做是因為它會在低層級結合各種輸入模式,並改為回報為控件特定的 Click 事件。 在 PointerPressed 事件處理程式的案例中,如果您嘗試在 Button 實例上處理此問題,則不會叫用處理程式。 這是因為原生 OnPointerPressed 將 Handled 設定為 true ,並防止 PointerPressed 傳播至您的實例和應用程式程式代碼。 針對 OnKeyDown,邏輯只是尋找某些按鍵, (Ctrl 和 Enter) ,因此只要實例處理程式不也會尋找這些索引鍵,仍然可以叫用。
注意
對於某些輸入事件,實際上有一種方式可以解決輸入的 OnEvent 方法原生處理。 若要這樣做,您必須使用 UIElement.AddHandler 方法搭配 handledEventsToo 來連接處理程式。 如需詳細資訊,請參閱 事件和路由事件概觀。
繼承至文字專案元件的文字屬性
控件會定義數個與文字呈現相關的屬性。 這些工具為:
很明顯地,並非所有控件都是用來顯示其中的文字。 例如,在 AppBarSeparator 上設定 FontFamily 是合法的,但絕對沒有作用。 Control 在基類層級定義這些屬性的原因是讓控件範本能夠輕鬆地使用 {TemplateBinding} 標記延伸 ,將最上層文字屬性套用至範本記憶體在一或多個文字元素元件。 例如,如果您查看 DatePicker 的控件範本,您會看到根目錄是容器,而該容器內更深入的 數個 ComboBox 元件,實際採用文字輸入。 上述每一個都會使用 之類的FontWeight="{TemplateBinding FontWeight}"
語句,讓在 DatePicker 上設定最上層 FontWeight,供內的各個元件使用。
控件上的文字屬性也會隱含繼承,該控件內有 ContentPresenter 來顯示文字。 例如,如果您在 Button 上設定 FontSize,其範本或 ContentPresenter 元件中沒有明確的 {TemplateBinding} 標記延伸,可控制範本對最上層 FontSize 值執行的動作。 但根據範本定義內的內容,ContentPresenter.FontSize 會隱含繼承 Control.FontSize 值,因此會使用您設定的 Control.FontSize 來呈現 Button 內的文字。
XAML 附加屬性
Control 是數個 XAML 附加屬性的主機服務類別。
為了支援 XAML 處理器對附加屬性的存取,以及公開對等 的 get 和 set 作業給程式代碼,每個 XAML 附加屬性都有一對 Get 和 Set 存取子方法。 在程序代碼中取得或設定值的另一種方式是使用相依性屬性系統,呼叫 GetValue 或 SetValue 並將識別符字段傳遞為相依性屬性識別碼。
附加屬性 | Description |
---|---|
IsTemplateFocusTarget | 取得或設定值,這個值表示這個專案是否為具有焦點視覺效果之控件範本的一部分。
|
IsTemplateKeyTipTarget | 取得或設定值,這個值表示這個專案是否為放置 KeyTip 之控件範本的一部分。
|
建構函式
Control() |
提供 控件 衍生類別的基類初始化行為。 |
屬性
AccessKey |
取得或設定這個專案的訪問鍵 (助記鍵) 。 (繼承來源 UIElement) |
AccessKeyScopeOwner |
取得或設定來源項目,這個元素會提供這個專案的存取索引鍵範圍,即使它不在來源專案的可視化樹狀結構中也一樣。 (繼承來源 UIElement) |
ActualHeight |
取得 FrameworkElement 的呈現高度。 請參閱<備註>。 (繼承來源 FrameworkElement) |
ActualOffset |
取得這個 UIElement 的位置,相對於其父系,在配置程式的排列階段期間計算。 (繼承來源 UIElement) |
ActualSize |
取得這個UIElement在配置程式的排列階段期間計算的大小。 (繼承來源 UIElement) |
ActualTheme |
取得元素目前使用的UI主題,其可能與 RequestedTheme不同。 (繼承來源 FrameworkElement) |
ActualWidth |
取得 FrameworkElement 的呈現寬度。 請參閱<備註>。 (繼承來源 FrameworkElement) |
AllowDrop |
取得或設定值,這個值會判斷這個 UIElement 是否可以是拖放作業的置放目標。 (繼承來源 UIElement) |
AllowFocusOnInteraction |
取得或設定值,這個值表示當使用者與其互動時,專案是否會自動取得焦點。 (繼承來源 FrameworkElement) |
AllowFocusWhenDisabled |
取得或設定停用的控制項是否可以接收焦點。 (繼承來源 FrameworkElement) |
Background |
取得或設定提供控件背景的筆刷。 |
BackgroundProperty |
識別 Background 相依性屬性。 |
BackgroundSizing |
取得或設定值,這個值表示背景相對於這個專案框線的延伸距離。 |
BackgroundSizingProperty |
識別 BackgroundSizing 相依性屬性。 |
BaseUri |
取得統一資源標識碼 (URI) ,表示 XAML 載入時 XAML 建構物件的基底 URI。 這個屬性適用於運行時間的 URI 解析。 (繼承來源 FrameworkElement) |
BorderBrush |
取得或設定描述控制件框線填滿的筆刷。 |
BorderBrushProperty |
識別 BorderBrush 相依性屬性。 |
BorderThickness |
取得或設定控制項的框線粗細。 |
BorderThicknessProperty |
識別 BorderThickness 相依性屬性。 |
CacheMode |
取得或設定值,這個值表示轉譯的內容應該盡可能快取為複合位圖。 (繼承來源 UIElement) |
CanBeScrollAnchor |
取得或設定值,這個值表示 UIElement 是否可以是捲動錨定候選專案。 (繼承來源 UIElement) |
CanDrag |
取得或設定值,這個值表示是否可以將專案拖曳為拖放作業中的數據。 (繼承來源 UIElement) |
CenterPoint |
取得或設定專案的中心點,這是發生旋轉或縮放的點。 影響項目的轉譯位置。 (繼承來源 UIElement) |
CharacterSpacing |
取得或設定字元之間的統一間距,單位為 em 的 1/1000。 |
CharacterSpacingProperty |
識別 CharacterSpacing 相依性屬性。 |
Clip |
取得或設定用來定義UIElement內容的大綱的 RectangleGeometry。 (繼承來源 UIElement) |
CompositeMode |
取得或設定屬性,這個屬性會宣告其父版面配置和視窗中專案的替代組合和混合模式。 這與混合 XAML/Microsoft DirectX UI 相關的元素相關。 (繼承來源 UIElement) |
ContextFlyout |
取得或設定與這個項目相關聯的飛出視窗。 (繼承來源 UIElement) |
CornerRadius |
取得或設定控件框線角落的半徑。 |
CornerRadiusProperty |
識別 CornerRadius 相依性屬性。 |
DataContext |
取得或設定 FrameworkElement 的數據內容。 數據內容的常見用法是 |
DefaultStyleKey |
取得或設定參考控件預設樣式的索引鍵。 自定義控件的作者會使用此屬性來變更其控件所使用的樣式預設值。 |
DefaultStyleKeyProperty |
識別 DefaultStyleKey 相依性屬性。 |
DefaultStyleResourceUri |
取得或設定資源文件的路徑,其中包含控件的默認樣式。 |
DefaultStyleResourceUriProperty |
識別 DefaultStyleResourceUri 相依性屬性。 |
DesiredSize |
取得這個 UIElement 在版面配置程式的量值階段期間計算的大小。 (繼承來源 UIElement) |
Dispatcher |
一律會在 Windows 應用程式 SDK 應用程式中傳 |
DispatcherQueue |
|
ElementSoundMode |
取得或設定值,指定是否播放音效的控件喜好設定。 |
ElementSoundModeProperty |
識別 ElementSoundMode 相依性屬性。 |
ExitDisplayModeOnAccessKeyInvoked |
取得或設定值,指定叫用存取金鑰時是否關閉存取金鑰顯示。 (繼承來源 UIElement) |
FlowDirection |
取得或設定文字和其他UI元素在控制其版面配置的任何父元素內流動的方向。 這個屬性可以設定為 |
FocusState |
取得值,指定這個控件是否有焦點,以及取得焦點的模式。 (繼承來源 UIElement) |
FocusVisualMargin |
取得或設定 FrameworkElement 焦點視覺效果的外部邊界。 (繼承來源 FrameworkElement) |
FocusVisualPrimaryBrush |
取得或設定筆刷,用來繪製 FrameworkElement 之或 |
FocusVisualPrimaryThickness |
取得或設定 FrameworkElement 之外部 |
FocusVisualSecondaryBrush |
取得或設定筆刷,用來繪製 FrameworkElement 之或 |
FocusVisualSecondaryThickness |
取得或設定 FrameworkElement 之 |
FontFamily |
取得或設定顯示控制項的文字所用的字型。 |
FontFamilyProperty |
識別 FontFamily相 依性屬性。 |
FontSize |
取得或設定這個控制件中的文字大小。 |
FontSizeProperty |
識別 FontSize 相依性屬性。 |
FontStretch |
取得或設定螢幕上字型緊縮或加寬的程度。 |
FontStretchProperty |
識別 FontStretch 相依性屬性。 |
FontStyle |
取得或設定呈現文字的樣式。 |
FontStyleProperty |
識別 FontStyle 相依性屬性。 |
FontWeight |
取得或設定指定字型的粗細。 |
FontWeightProperty |
識別 FontWeight 相依性屬性。 |
Foreground |
取得或設定描述前景色彩的筆刷。 |
ForegroundProperty |
識別 前景 相依性屬性。 |
Height |
取得或設定 FrameworkElement 的建議高度。 (繼承來源 FrameworkElement) |
HighContrastAdjustment |
取得或設定值,這個值表示當啟用高對比度主題時,架構是否會自動調整專案的視覺屬性。 (繼承來源 UIElement) |
HorizontalAlignment |
取得或設定在版面配置父系中撰寫時套用至 FrameworkElement 的水準對齊特性,例如面板或專案控件。 (繼承來源 FrameworkElement) |
HorizontalContentAlignment |
取得或設定控制項內容的水平對齊。 |
HorizontalContentAlignmentProperty |
識別 HorizontalContentAlignment 相依性屬性。 |
IsAccessKeyScope |
取得或設定值,這個值表示專案是否定義自己的存取金鑰範圍。 (繼承來源 UIElement) |
IsDoubleTapEnabled |
取得或設定值,這個值會判斷 DoubleTapped 事件是否可以來自該專案。 (繼承來源 UIElement) |
IsEnabled |
取得或設定值,指出使用者是否可以與控件互動。 |
IsEnabledProperty |
識別 IsEnabled 相依性屬性。 |
IsFocusEngaged |
取得或設定值,指出當使用者按下遊戲控制器上的 A/Select 按鈕時,焦點是否受限於控件。 |
IsFocusEngagedProperty |
識別 IsFocusEngaged 相依性屬性。 |
IsFocusEngagementEnabled |
取得或設定值,指出當使用者按下遊戲控制器上的 A/Select 按鈕時,焦點是否可以限制在控件上。 |
IsFocusEngagementEnabledProperty |
識別 IsFocusEngagementEnabled 相依性屬性。 |
IsHitTestVisible |
取得或設定這個 UIElement 的自主區域是否可以傳回真正的值來進行點擊測試。 (繼承來源 UIElement) |
IsHoldingEnabled |
取得或設定值,這個值會決定 Holding 事件是否可以來自該專案。 (繼承來源 UIElement) |
IsLoaded |
取得值,這個值表示專案是否已加入至專案樹狀結構,且已準備好進行互動。 (繼承來源 FrameworkElement) |
IsRightTapEnabled |
取得或設定值,這個值會判斷 RightTapped 事件是否可以來自該專案。 (繼承來源 UIElement) |
IsTabStop |
取得或設定值,這個值表示控制項是否包含於索引標籤巡覽。 (繼承來源 UIElement) |
IsTapEnabled |
取得或設定值,這個值會判斷 Tapped 事件是否可能來自該專案。 (繼承來源 UIElement) |
IsTemplateFocusTargetProperty |
識別 Control.IsTemplateFocusTarget XAML 附加屬性。 |
IsTemplateKeyTipTargetProperty |
識別 Control.IsTemplateKeyTipTarget XAML 附加屬性。 |
IsTextScaleFactorEnabled |
取得或設定是否啟用自動放大文字,以反映系統文字大小設定。 |
IsTextScaleFactorEnabledProperty |
識別 IsTextScaleFactorEnabled 相依性屬性。 |
KeyboardAcceleratorPlacementMode |
取得或設定值,這個值表示控件 工具提示 是否顯示其相關聯鍵盤快捷方式的按鍵組合。 (繼承來源 UIElement) |
KeyboardAcceleratorPlacementTarget |
取得或設定值,這個值表示顯示快速鍵組合的控件 工具提示 。 (繼承來源 UIElement) |
KeyboardAccelerators |
取得使用鍵盤叫用動作的按鍵組合集合。 快捷鍵通常會指派給按鈕或功能表項。
|
KeyTipHorizontalOffset |
取得或設定值,這個值表示相對於UIElement放置按鍵提示的左邊或右邊。 (繼承來源 UIElement) |
KeyTipPlacementMode |
取得或設定值,這個值表示相對於UIElement界限放置訪問鍵按鍵提示的位置。 (繼承來源 UIElement) |
KeyTipTarget |
取得或設定值,這個值表示以訪問鍵提示為目標的專案。 (繼承來源 UIElement) |
KeyTipVerticalOffset |
取得或設定值,這個值表示相對於UI元素放置按鍵提示的上下距離。 (繼承來源 UIElement) |
Language |
取得或設定套用至 FrameworkElement 的當地語系化/全球化語言資訊,以及套用至物件表示法和 UI 中目前 FrameworkElement 的所有子元素。 (繼承來源 FrameworkElement) |
Lights |
取得附加至這個專案的 XamlLight 物件集合。 (繼承來源 UIElement) |
ManipulationMode |
取得或設定用於UIElement行為與手勢互動的ManipulationModes值。 設定此值可讓您處理來自應用程式程式碼中這個專案的操作事件。 (繼承來源 UIElement) |
Margin |
取得或設定 FrameworkElement 的外部邊界。 (繼承來源 FrameworkElement) |
MaxHeight |
取得或設定 FrameworkElement 的最大高度條件約束。 (繼承來源 FrameworkElement) |
MaxWidth |
取得或設定 FrameworkElement 的最大寬度條件約束。 (繼承來源 FrameworkElement) |
MinHeight |
取得或設定 FrameworkElement 的最小高度條件約束。 (繼承來源 FrameworkElement) |
MinWidth |
取得或設定 FrameworkElement 的最小寬度條件約束。 (繼承來源 FrameworkElement) |
Name |
取得或設定 對象的識別名稱。 當 XAML 處理器從 XAML 標記建立物件樹狀結構時,運行時間程式代碼可以透過這個名稱參考 XAML 宣告的物件。 (繼承來源 FrameworkElement) |
Opacity |
取得或設定物件的不透明度程度。 (繼承來源 UIElement) |
OpacityTransition |
取得或設定 ScalarTransition,以動畫顯示 Opacity 屬性的變更。 (繼承來源 UIElement) |
Padding |
取得或設定控制項內部的邊框間距。 |
PaddingProperty |
識別 Padding 相依性屬性。 |
Parent |
取得物件樹狀結構中這個 FrameworkElement 的父物件。 (繼承來源 FrameworkElement) |
PointerCaptures |
取得所有擷取的指標集合,表示為 Pointer 值。 (繼承來源 UIElement) |
Projection |
取得或設定轉譯這個專案時要套用 (立體效果) 的透視投影。 (繼承來源 UIElement) |
ProtectedCursor |
取得或設定指標位於這個專案上方時所顯示的游標。 默認為 null,表示數據指標沒有變更。 (繼承來源 UIElement) |
RasterizationScale |
取得值,表示每個檢視圖元的原始 (實體) 像素數目。 (繼承來源 UIElement) |
RenderSize |
取得 UIElement的最終轉譯大小。 不建議使用,請參閱。 (繼承來源 UIElement) |
RenderTransform |
取得或設定會影響 UIElement轉譯位置的轉換資訊。 (繼承來源 UIElement) |
RenderTransformOrigin |
取得或設定 RenderTransform 所宣告之任何可能轉譯轉換的原點,相對於 UIElement 的界限。 (繼承來源 UIElement) |
RequestedTheme |
取得或設定 UIElement (及其子元素) 用於資源判斷的 UI 主題。 您指定的 |
RequiresPointer |
取得或設定UI元素是否支援滑鼠模式,以模擬非指標輸入裝置的指標互動體驗,例如鍵盤或遊戲控制器。 |
RequiresPointerProperty |
識別 RequiresPointer 相依性屬性。 |
Resources |
取得本機定義的資源字典。 在 XAML 中,您可以透過 XAML 隱含集合語法,將資源專案建立為屬性專案的子物件專案 |
Rotation |
取得或設定順時針旋轉的角度,以度為單位。 相對於 RotationAxis 和 CenterPoint 旋轉。 影響項目的轉譯位置。 (繼承來源 UIElement) |
RotationAxis |
取得或設定要繞著專案旋轉的軸。 (繼承來源 UIElement) |
RotationTransition |
取得或設定 ScalarTransition,以動畫顯示 Rotation 屬性的變更。 (繼承來源 UIElement) |
Scale |
取得或設定專案的小數位數。 相對於專案的 CenterPoint 縮放比例。 影響項目的轉譯位置。 (繼承來源 UIElement) |
ScaleTransition |
取得或設定 Vector3Transition,以動畫顯示 Scale 屬性的變更。 (繼承來源 UIElement) |
Shadow |
取得或設定 專案所轉換的陰影效果。 (繼承來源 UIElement) |
Style |
取得或設定配置和轉譯期間針對這個物件套用的實例 Style 。 (繼承來源 FrameworkElement) |
TabFocusNavigation |
取得或設定值,這個值會修改Tabbing和 TabIndex 對此控件的運作方式。 (繼承來源 UIElement) |
TabIndex |
取得或設定值,這個值會決定當使用者使用 Tab 鍵巡覽控件時,元素接收焦點的順序。 (繼承來源 UIElement) |
TabNavigation |
取得或設定值,這個值會修改Tabbing和 UIElement.TabIndex 對此控件的運作方式。 注意 對於 Windows 10 Creators Update (組建 10.0.15063) 和更新版本,TABFocusNavigation 屬性可在 UIElement 基類上使用,以在不使用 ControlTemplate 的索引卷標序列中包含物件。 |
TabNavigationProperty |
識別 TabNavigation 相依性屬性。 |
Tag |
取得或設定任意物件值,可用來儲存這個物件的自定義資訊。 (繼承來源 FrameworkElement) |
Template |
取得或設定控制項範本。 控件範本會定義 UI 中控制件的視覺外觀,並在 XAML 標記中定義。 |
TemplateProperty |
識別 範本 相依性屬性。 |
Transform3D |
取得或設定轉譯這個專案時要套用的 3D 轉換效果。 (繼承來源 UIElement) |
TransformMatrix |
取得或設定要套用至項目的轉換矩陣。 (繼承來源 UIElement) |
Transitions |
取得或設定套用至 UIElement 的 Transition 樣式專案集合。 (繼承來源 UIElement) |
Translation |
取得或設定專案的 x、y 和 z 轉譯位置。 (繼承來源 UIElement) |
TranslationTransition |
取得或設定 Vector3Transition,以動畫顯示 Translation 屬性的變更。 (繼承來源 UIElement) |
Triggers |
取得針對 FrameworkElement 定義的動畫觸發程式集合。 不常使用。 請參閱<備註>。 (繼承來源 FrameworkElement) |
UseLayoutRounding |
取得或設定值,這個值會判斷物件及其視覺子樹的轉譯是否應該使用四捨五入行為,將轉譯對齊整個圖元。 (繼承來源 UIElement) |
UseSystemFocusVisuals |
取得或設定值,這個值表示控件是否使用由控件範本中定義的系統或焦點視覺效果所繪製的焦點視覺效果。 (繼承來源 UIElement) |
VerticalAlignment |
取得或設定在面板或專案控件等父物件中撰寫時套用至 FrameworkElement 的垂直對齊特性。 (繼承來源 FrameworkElement) |
VerticalContentAlignment |
取得或設定控制項內容的垂直對齊。 |
VerticalContentAlignmentProperty |
識別 VerticalContentAlignment 相依性屬性。 |
Visibility |
取得或設定 UIElement的可見性。
|
Width |
取得或設定 FrameworkElement 的寬度。 (繼承來源 FrameworkElement) |
XamlRoot |
取得或設定 |
XYFocusDown |
取得或設定對象,當使用者按下遊戲控制器的 Directional Pad (D-pad) 時取得焦點。 (繼承來源 UIElement) |
XYFocusDownNavigationStrategy |
取得或設定值,指定用來判斷向下瀏覽之目標元素的策略。 (繼承來源 UIElement) |
XYFocusKeyboardNavigation |
取得或設定值,這個值會啟用或停用使用鍵盤方向箭號的流覽。 (繼承來源 UIElement) |
XYFocusLeft |
取得或設定物件,當用戶在遊戲控制器的 Directional Pad (D 鍵) 左鍵時取得焦點。 (繼承來源 UIElement) |
XYFocusLeftNavigationStrategy |
取得或設定值,指定用來判斷左側導覽之目標元素的策略。 (繼承來源 UIElement) |
XYFocusRight |
取得或設定對象,當用戶在遊戲控制器的 Directional Pad (D-pad) 上按下滑鼠右鍵時,取得焦點。 (繼承來源 UIElement) |
XYFocusRightNavigationStrategy |
取得或設定值,指定用來判斷右導覽之目標元素的策略。 (繼承來源 UIElement) |
XYFocusUp |
取得或設定對象,當使用者按下遊戲控制器的 Directional Pad (D-pad) 時取得焦點。 (繼承來源 UIElement) |
XYFocusUpNavigationStrategy |
取得或設定值,指定用來判斷向上瀏覽之目標元素的策略。 (繼承來源 UIElement) |
附加屬性
IsTemplateFocusTarget |
取得或設定值,這個值表示這個專案是否為具有焦點視覺效果之控件範本的一部分。 |
IsTemplateKeyTipTarget |
取得或設定值,這個值表示這個專案是否為放置 KeyTip 之控件範本的一部分。 |
方法
事件
AccessKeyDisplayDismissed |
發生於不應再顯示存取金鑰時。 (繼承來源 UIElement) |
AccessKeyDisplayRequested |
發生於使用者要求顯示存取金鑰時。 (繼承來源 UIElement) |
AccessKeyInvoked |
發生於使用者完成存取金鑰序列時。 (繼承來源 UIElement) |
ActualThemeChanged |
發生於 ActualTheme 屬性值變更時。 (繼承來源 FrameworkElement) |
BringIntoViewRequested |
在這個專案或其中一個子代上呼叫 StartBringIntoView 時發生。 (繼承來源 UIElement) |
CharacterReceived |
發生於輸入佇列收到單一、撰寫的字元時。 (繼承來源 UIElement) |
ContextCanceled |
發生於內容輸入手勢繼續進入操作手勢時,通知專案不應開啟內容飛出視窗。 (繼承來源 UIElement) |
ContextRequested |
發生於使用者已完成內容輸入手勢時,例如按兩下滑鼠右鍵。 (繼承來源 UIElement) |
DataContextChanged |
發生於 FrameworkElement.DataContext 屬性的值變更時。 (繼承來源 FrameworkElement) |
DoubleTapped |
發生於在此元素的點擊測試區域上發生未處理的 DoubleTap 互動時。 (繼承來源 UIElement) |
DragEnter |
當輸入系統報告基礎拖曳事件,並將這個項目當做目標時發生。 (繼承來源 UIElement) |
DragLeave |
當輸入系統報告基礎拖曳事件,並將這個項目當做原點時發生。 (繼承來源 UIElement) |
DragOver |
在輸入系統回報以此項目作為可能置放目標的基礎拖曳事件時發生。 (繼承來源 UIElement) |
DragStarting |
發生於起始拖曳作業時。 (繼承來源 UIElement) |
Drop |
輸入系統報告其下以這個項目作為置放目標的置放事件時發生。 (繼承來源 UIElement) |
DropCompleted |
發生於以這個專案做為結束來源的拖放作業時。 (繼承來源 UIElement) |
EffectiveViewportChanged |
發生於 FrameworkElement的有效檢視區 變更時。 (繼承來源 FrameworkElement) |
FocusDisengaged |
當使用者按下遊戲控制器上的 B/上一頁按鈕時,就會從控件釋放焦點。 |
FocusEngaged |
當使用者按下遊戲控制器上的 [A/選取] 按鈕時,就會發生焦點受限於控件。 |
GettingFocus |
發生於 UIElement 收到焦點之前。 此事件會同步引發,以確保事件反升時不會移動焦點。 (繼承來源 UIElement) |
GotFocus |
發生於 UIElement 收到焦點時。 此事件會以異步方式引發,因此焦點可以在反升完成之前再次移動。 (繼承來源 UIElement) |
Holding |
發生於在此元素的點擊測試區域上發生未處理的 保留 互動時。 (繼承來源 UIElement) |
IsEnabledChanged |
發生於 IsEnabled 屬性變更時。 |
KeyDown |
發生於 UIElement 有焦點時按下鍵盤按鍵時。 (繼承來源 UIElement) |
KeyUp |
發生於 UIElement 有焦點時放開鍵盤按鍵時。 (繼承來源 UIElement) |
LayoutUpdated |
發生於可視化樹狀結構的版面配置變更時,因為配置相關屬性變更值或重新整理版面配置的其他動作。 (繼承來源 FrameworkElement) |
Loaded |
發生於 架構Element 已建構並新增至物件樹狀結構,並準備好進行互動時。 (繼承來源 FrameworkElement) |
Loading |
當 FrameworkElement 開始載入時發生。 (繼承來源 FrameworkElement) |
LosingFocus |
發生於 UIElement 失去焦點之前。 此事件會同步引發,以確保事件反升時不會移動焦點。 (繼承來源 UIElement) |
LostFocus |
發生於 UIElement 失去焦點時。 這個事件會以異步方式引發,因此焦點可以在反升完成之前再次移動。 (繼承來源 UIElement) |
ManipulationCompleted |
發生於 UIElement 上的操作完成時。 (繼承來源 UIElement) |
ManipulationDelta |
輸入裝置在操作期間變更位置時發生。 (繼承來源 UIElement) |
ManipulationInertiaStarting |
在操作和慣性開始的時候,只要輸入裝置不與 UIElement 物件接觸便發生。 (繼承來源 UIElement) |
ManipulationStarted |
當輸入裝置開始在 UIElement 進行操作時發生。 (繼承來源 UIElement) |
ManipulationStarting |
發生於第一次建立操作處理器時。 (繼承來源 UIElement) |
NoFocusCandidateFound |
發生於用戶嘗試透過定位鍵或方向箭號 (移動焦點時) ,但焦點不會移動,因為沒有在移動方向找到焦點候選專案。 (繼承來源 UIElement) |
PointerCanceled |
發生於讓聯繫人異常遺失聯繫人的指標時。 (繼承來源 UIElement) |
PointerCaptureLost |
發生於此元素先前保留的指標擷取移至另一個專案或其他地方時。 (繼承來源 UIElement) |
PointerEntered |
發生於指標進入這個項目的點擊測試區域時。 (繼承來源 UIElement) |
PointerExited |
發生於指標離開這個項目的點擊測試區域時。 (繼承來源 UIElement) |
PointerMoved |
當指標在指標保留在這個項目的點擊測試區域中時移動時發生。 (繼承來源 UIElement) |
PointerPressed |
發生於指標裝置起始這個專案內的 Press 動作時。 (繼承來源 UIElement) |
PointerReleased |
發生於先前起始 「按下」 動作的指標裝置釋放時,同時在此元素內。 請注意, Press 動作的結尾不保證會引發 |
PointerWheelChanged |
發生於指標滾輪的差異值變更時。 (繼承來源 UIElement) |
PreviewKeyDown |
發生於 UIElement 有焦點時按下鍵盤按鍵時。 (繼承來源 UIElement) |
PreviewKeyUp |
發生於 UIElement 有焦點時放開鍵盤按鍵時。 (繼承來源 UIElement) |
ProcessKeyboardAccelerators |
發生於按下 鍵盤快捷方式 (或快捷鍵) 時。 (繼承來源 UIElement) |
RightTapped |
發生於指標位於元素上方時發生右點選輸入壓力時。 (繼承來源 UIElement) |
SizeChanged |
發生於 ActualHeight 或 ActualWidth 屬性變更 FrameworkElement 上的值時。 (繼承來源 FrameworkElement) |
Tapped |
發生於此元素的點擊測試區域上發生未處理的 Tap 互動時。 (繼承來源 UIElement) |
Unloaded |
當這個物件不再連接到主物件樹狀結構時發生。 (繼承來源 FrameworkElement) |