Grid 類別

定義

定義彈性的格線區域,由欄與列組成。 網格的子元素會根據其列/欄指派(使用 Grid.RowGrid.Column 附加屬性設定)及其他邏輯來測量與排列。

/// [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 Grid : Panel
[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 Grid : Panel
Public Class Grid
Inherits Panel
<Grid ...>
  oneOrMoreUIElements
</Grid>
-or-
<Grid .../>
繼承
衍生
屬性

範例

Tip

更多資訊、設計指導及程式碼範例,請參閱 版面面板

WinUI 3 Gallery 應用程式包含大部分 WinUI 3 控制項、特性和功能的互動式範例。 從 Microsoft Store 取得應用程式,或在 GitHub 上取得原始程式碼。

這個 XAML 範例展示了如何利用網格設計版面。

<Grid x:Name="LayoutRoot" Background="#555555" 
      Width="400" Height="300"
      ColumnDefinitions="250, 150"
      RowDefinitions="Auto, 2*, *">
    <TextBlock Grid.Row="0" Grid.Column="0" 
       Grid.ColumnSpan="2" 
       Margin="10" FontWeight="Bold" 
       Text="Contoso Corporation"
       HorizontalAlignment="Center"
       VerticalAlignment="Center" />
    <Grid x:Name="FormLayoutGrid" Grid.Row="1" Grid.Column="0">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="*" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <TextBlock Grid.Row="0" Grid.Column="0" Text="First Name" Margin="10" 
           HorizontalAlignment="Left" VerticalAlignment="Center" />
        <TextBox Grid.Row="0" Grid.Column="1" Margin="10" />
        <TextBlock Grid.Row="1" Grid.Column="0" Text="Last Name" Margin="10" 
           HorizontalAlignment="Left" VerticalAlignment="Center" />
        <TextBox Grid.Row="1" Grid.Column="1" Margin="10" />
        <TextBlock Grid.Row="2" Grid.Column="0" Text="Address" Margin="10" 
           HorizontalAlignment="Left" VerticalAlignment="Center" />
        <TextBox Grid.Row="2" Grid.Column="1" Margin="10" />

    </Grid>
</Grid>
    public MainPage()
    {
        this.InitializeComponent();
        LayoutDesign();
    }

    private void LayoutDesign()
    {
        //Create Stackpanel for ListBox Control and its description
        StackPanel DeptStackPanel = new StackPanel();
        DeptStackPanel.Margin = new Thickness(10);

        LayoutRoot.Children.Add(DeptStackPanel);
        Grid.SetColumn(DeptStackPanel, 1);
        Grid.SetRow(DeptStackPanel, 1);

        TextBlock DeptListHeading = new TextBlock();
        DeptListHeading.Text = "Department";

        ListBox DeptList = new ListBox();
        DeptList.Items.Add("Finance");
        DeptList.Items.Add("Marketing");
        DeptList.Items.Add("Human Resources");
        DeptList.Items.Add("Payroll");

        DeptStackPanel.Children.Add(DeptListHeading);
        DeptStackPanel.Children.Add(DeptList);

        //Create StackPanel for buttons
        StackPanel ButtonsStackPanel = new StackPanel();
        ButtonsStackPanel.Margin = new Thickness(10);
        ButtonsStackPanel.Orientation = Orientation.Horizontal;
        ButtonsStackPanel.HorizontalAlignment = HorizontalAlignment.Center;

        LayoutRoot.Children.Add(ButtonsStackPanel);
        Grid.SetColumn(ButtonsStackPanel, 0);
        Grid.SetRow(ButtonsStackPanel, 2);
        Grid.SetColumnSpan(ButtonsStackPanel, 2);

        Button BackButton = new Button();
        BackButton.Content = "Back";
        BackButton.Width = 100;

        Button CancelButton = new Button();
        CancelButton.Content = "Cancel";
        CancelButton.Width = 100;

        Button NextButton = new Button();
        NextButton.Content = "Next";
        NextButton.Width = 100;

        ButtonsStackPanel.Children.Add(BackButton);
        ButtonsStackPanel.Children.Add(CancelButton);
        ButtonsStackPanel.Children.Add(NextButton);

        BackButton.Margin = new Thickness(10);
        CancelButton.Margin = new Thickness(10);
        NextButton.Margin = new Thickness(10);
    }
}

備註

Tip

更多資訊、設計指導及程式碼範例,請參閱 版面面板

Grid 是一個版面面板,支援以列和欄排列子元素。

網格布局面板

你通常透過提供一個或多個 RowDefinition 元素作為 Grid.RowDefinitions 的值,以及一個或多個 ColumnDefinition 元素作為 Grid.ColumnDefinitions 的值來定義格網的佈局行為。 接著,對格子的每個元素子節點套用 Grid.RowGrid.Column 附加的屬性,指示該元素在父格子中的位置。

要設定列的高度和欄的寬度,你為每個 RowDefinition 設定 RowDefinition.Height,並為每個 ColumnDefinition 設定 ColumnDefinition.WidthColumnDefinition.WidthRowDefinition.Height 分別是 ColumnDefinitionRowDefinition 的內容屬性。

預設情況下,每一列或每一欄會平均分配版面空間。 你可以透過提供絕對像素值,或用星 大小來改變這個行為,並用加權因子來除以可用空間。 想了解更多如何在網格中使用型大小的資訊,請參見「用 XAML 或 GridLength 定義版面」。 你也可以使用自動尺寸,可以依內容大小調整。

請注意,定義網格有兩種方式。 如果你只是定義列和欄, 沒有 使用資料綁定或定義像是最小高度(MinHeight)或最大寬度(MaxWidth)等屬性,你可以使用以下簡潔語法:

<Grid ColumnDefinitions="1*, 2*, Auto, 5"
      RowDefinitions="1*, Auto, 5, 3, 1">

    <!-- Grid content goes here -->

</Grid>

如果你需要在網格定義中加入更多細節,例如提供某列的 MaxHeight,或在列/列定義中使用資料綁定,你應該使用原始的完整網格語法:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition MaxWidth="30"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="{x:Bind RowHeight}"/>
        <RowDefinition Height="{x:Bind RowHeight}"/>
    </Grid.RowDefinitions>

    <!-- Grid content goes here -->

</Grid>

為了表示元素子節點應跨越網格中的多列或多欄,你可以套用 Grid.RowSpanGrid.ColumnSpan 對網格子元素附加屬性。

預設情況下,格子包含一列一欄。

在格子元素上設定 Margin 屬性,會設定元素與其格格格邊界之間的距離。 HorizontalAlignmentVerticalAlignment 屬性描述了子元素在格子格中應如何定位。 你可以結合 Margin 屬性和對齊屬性,精確定位格子元素。 如果你還需要對每個子元素的佈局有更多控制,可以考慮使用 VariableSizedWrapGrid

WrapGrid 是另一個類似的版面面板,對於過寬的內容處理較佳,因為一般網格可能會根據其他版面屬性的值裁剪過寬的內容。

第一欄中跨越多列的元素,即使第一列有足夠高度容納該元素,仍可能影響每列跨度的高度,且後續跨度列的高度為 0。 例如,這個格子的第二列高度設為 0,因此藍色矩形通常不會被看見。 在這種情況下,你可能會預期紅色橢圓不會影響第二列,因為第一排足夠高容納橢圓。 不過,Grid 會計算每列的最小高度以容納紅色橢圓,然後跨越該列。 因此,第二列的最小高度為 50,紅色橢圓位於 150px 的跨度中心,藍色矩形的一半可見於第二列。

Note

(此範例使用跨欄元素,但也適用於第一欄跨多列的元素。)

<Grid Background="Yellow" Width="300"
      ColumnDefinitions="50, *" RowDefinitions="Auto, 0">
    <Ellipse   Grid.Row="0" Grid.Column="0"  Height="50" Fill="Red" Grid.RowSpan="2"/>
    <Rectangle Grid.Row="0" Grid.Column="1" Fill="Green" Height="100"/>
    <Rectangle Grid.Row="1" Grid.Column="1" Fill="Blue" Height="100"/>
</Grid>

邊界性質

格子定義邊界屬性,讓你能在不使用額外邊 元素的情況下,在網格周圍畫出邊界。 這些屬性分別是 Grid.BorderBrushGrid.BorderThicknessGrid.CornerRadiusGrid.Padding

<Grid BorderBrush="Red" BorderThickness="2" CornerRadius="10" Padding="12">
    <TextBlock Text="Hello World!"/>
</Grid>

網格 導出類別

Grid 是 SwapChainPanelSwapChainBackgroundPanel 的父類別。

XAML 附加屬性

Grid 是多個 XAML 附加屬性的主機服務類別。 這些附加屬性使子元素能夠報告它們在格子父節點中應如何定位。

為了支援 XAML 處理器對附加屬性的存取,並向程式碼暴露等效的 getset 操作,每個 XAML 附加屬性都有一對 Get 與 Set 存取器方法。 另一種在程式碼中取得或設定值的方法是使用相依屬性系統,呼叫 GetValueSetValue ,並將識別欄位傳入相依屬性識別碼。

附屬財產 說明
資料行 當子版面配置被父網格版面容器處理時,取得或設定元素的欄位對齊。該值是元素應該出現的格網欄位的零基索引。 不允許使用負數值。
Column Span(列線全長) 取得或設定一個值,表示該元素內容在父網格中所跨越的總欄位數。 零或負整數值則不被允許。 超過總欄位數的值會視為指定總數,並跨跨所有欄位。
資料列 當子版面配置被父網格版面容器處理時,取得或設定元素的列對齊。該值是元素應該出現的格網列的零基索引。 不允許使用負數值。
資料列範圍 取得或設定一個值,表示元素內容在父網格中所跨越的總列數。 零或負整數值則不被允許。 大於總列數的值會視為指定總數,並跨跨所有列數。

建構函式

名稱 Description
Grid()

初始化 Grid 類別的新實例。

屬性

名稱 Description
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

取得或設定一個筆 ,填滿面板內容區域。

(繼承來源 Panel)
BackgroundSizing

取得或設定一個值,表示背景相對於該元素邊界的延伸距離。

BackgroundSizingProperty

識別背景尺寸依賴性屬性。

BackgroundTransition

取得或設定 BrushTransition 實例自動為背景屬性做動畫變更。

(繼承來源 Panel)
BaseUri

取得一個統一資源識別碼(URI),代表 XAML 載入時所建構物件的基礎 URI。 此特性對執行時的 URI 解析非常有用。

(繼承來源 FrameworkElement)
BorderBrush

取得或設定一個筆刷,描述面板的邊框填充。

BorderBrushProperty

識別 BorderBrush 相依性屬性。

BorderThickness

用來設定面板的邊框厚度。

BorderThicknessProperty

識別 BorderThickness 依賴性質。

CacheMode

取得或設定一個值,表示渲染內容應盡可能以合成點陣圖形式快取。

(繼承來源 UIElement)
CanBeScrollAnchor

取得或設定一個值,指示 UIElement 是否適合作為捲動錨定的候選對象。

(繼承來源 UIElement)
CanDrag

取得或設定一個值,指示該元素是否能以拖放操作的方式被拖曳為資料。

(繼承來源 UIElement)
CenterPoint

取得或設定元素的中心點,即旋轉或縮放發生的中心點。 會影響元素的渲染位置。

(繼承來源 UIElement)
Children

取得面板子元素的集合。

(繼承來源 Panel)
ChildrenTransitions

取得或設定適用於面板子類別子內容的 Transition 風格元素集合。

(繼承來源 Panel)
Clip

取得或設定用於定義 UIElement 內容輪廓的矩形幾何。

(繼承來源 UIElement)
ColumnDefinitions

會取得 Grid 實例中定義的 ColumnDefinition 物件清單。

ColumnProperty

識別 Grid.Column XAML 附加屬性。

ColumnSpacing

取得或設定格列間的均勻距離(以像素為單位)。

ColumnSpacingProperty

識別欄位間距依賴性質。

ColumnSpanProperty

識別 Grid.ColumnSpan XAML 附加屬性。

CompositeMode

取得或設定一個屬性,宣告該元素在其父版面配置與視窗中的替代合成與混合模式。 這對於涉及混合 XAML / Microsoft DirectX UI 的元素非常重要。

(繼承來源 UIElement)
ContextFlyout

取得或設定與此元素相關的飛出。

(繼承來源 UIElement)
CornerRadius

取得或設定面板邊框角落的半徑。

CornerRadiusProperty

識別 CornerRadius 依賴性屬性。

DataContext

取得或設定 FrameworkElement 的資料上下文。 資料上下文的常見用途是 a FrameworkElement 使用 {Binding} 標記擴充並參與資料綁定。

(繼承來源 FrameworkElement)
DesiredSize

取得該 UIElement 在佈局過程的測度通過時計算出的大小。

(繼承來源 UIElement)
Dispatcher

它總是在 Windows App SDK 應用程式中回傳 null 。 改用 DispatcherQueue

(繼承來源 DependencyObject)
DispatcherQueue

得到 DispatcherQueue 這個物件所關聯的那個。 代表 DispatcherQueue 一個功能,即使程式碼是由非 UI 執行緒發起,也能存取 UI DependencyObject 執行緒。

(繼承來源 DependencyObject)
ExitDisplayModeOnAccessKeyInvoked

取得或設定一個值,指定在呼叫存取鍵時是否會關閉存取鍵顯示。

(繼承來源 UIElement)
FlowDirection

它設定文字及其他 UI 元素在任何控制其版面配置的父元素內流動的方向。 此屬性可設定為或 LeftToRightRightToLeft。 將 設定 FlowDirection 為 對 RightToLeft 任意元素,會將比對順序設定為右至左,控制鍵的配置則由右向左流動。

(繼承來源 FrameworkElement)
FocusState

會得到一個值,指定此控制是否具備對焦功能,以及取得對焦的方式。

(繼承來源 UIElement)
FocusVisualMargin

取得或設定 FrameworkElement 焦點視覺化的外圍。

(繼承來源 FrameworkElement)
FocusVisualPrimaryBrush

取得或設定用來繪製框架元素外邊界HighVisibilityReveal聚焦視覺化的畫筆。

(繼承來源 FrameworkElement)
FocusVisualPrimaryThickness

取得或設定框架元素外層邊界HighVisibility的厚度,或Reveal聚焦視覺化。

(繼承來源 FrameworkElement)
FocusVisualSecondaryBrush

取得或設定用來繪製框架元素內邊界HighVisibilityReveal或聚焦視覺化的畫筆。

(繼承來源 FrameworkElement)
FocusVisualSecondaryThickness

取得或設定框架元素內邊界HighVisibility的厚度,或Reveal聚焦視覺化的視覺化。

(繼承來源 FrameworkElement)
Height

取得或設定 FrameworkElement 的建議高度。

(繼承來源 FrameworkElement)
HighContrastAdjustment

取得或設定一個值,指示框架在啟用高對比主題時是否自動調整元素的視覺屬性。

(繼承來源 UIElement)
HorizontalAlignment

取得或設定在 FrameworkElement 組合於版面父元件(如面板或項目控制項)時套用的水平對齊特性。

(繼承來源 FrameworkElement)
IsAccessKeyScope

取得或設定一個值,指示元素是否定義其存取鍵作用域。

(繼承來源 UIElement)
IsDoubleTapEnabled

取得或設定一個值,決定 DoubleTapped 事件是否能從該元素產生。

(繼承來源 UIElement)
IsHitTestVisible

取得或設定此 UIElement 所包含區域是否能回傳真實值以進行命中測試。

(繼承來源 UIElement)
IsHoldingEnabled

取得或設定一個值,決定 持有事件是否 能從該元素產生。

(繼承來源 UIElement)
IsItemsHost

會得到一個值,指示這個 面板 是否是 ItemsControl 產生的 UI 項目容器。

(繼承來源 Panel)
IsLoaded

會得到一個值,表示該元素是否已被加入元素樹並準備好進行互動。

(繼承來源 FrameworkElement)
IsRightTapEnabled

取得或設定一個值,決定 RightTapped 事件是否能從該元素產生。

(繼承來源 UIElement)
IsTabStop

取得或設定一個值,指示分頁導覽中是否包含某個控制項。

(繼承來源 UIElement)
IsTapEnabled

取得或設定一個值,決定 Tapped 事件是否能從該元素產生。

(繼承來源 UIElement)
KeyboardAcceleratorPlacementMode

取得或設定一個值,指示控制 工具提示是否顯示 其對應鍵盤加速器的按鍵組合。

(繼承來源 UIElement)
KeyboardAcceleratorPlacementTarget

取得或設定一個值,指示顯示加速器按鍵組合的控制 工具提示

(繼承來源 UIElement)
KeyboardAccelerators

取得一組按鍵組合,用鍵盤觸發動作。

加速器通常分配給按鈕或選單項目。

顯示各種選單項目鍵盤加速器的選單範例
顯示各種選單項目鍵盤加速器的選單範例

(繼承來源 UIElement)
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

取得所有捕獲指標的集合,以 指標 值表示。

(繼承來源 UIElement)
Projection

在渲染這個元素時,會取得或設定投影(3D 效果)來套用。

(繼承來源 UIElement)
ProtectedCursor

取得或設定游標,當指標位於此元素上時會顯示。 預設為 null,表示游標沒有變化。

(繼承來源 UIElement)
RasterizationScale

會獲得一個代表額外比例因子的值,用於渲染形狀、影像、文字或媒體,通常是為了渲染比一般解析度更高的解析度。

(繼承來源 UIElement)
RenderSize

會取得 UIElement 的最終渲染大小。 不建議使用此,詳見備註。

(繼承來源 UIElement)
RenderTransform

取得或設定影響 UIElement 渲染位置的轉換資訊。

(繼承來源 UIElement)
RenderTransformOrigin

取得或設定 RenderTransform 宣告的任何可能渲染轉換的起點,相對於 UIElement 的界限。

(繼承來源 UIElement)
RequestedTheme

取得或設定 UI 主題,該主題由 UIElement (及其子元素)用於資源判定。 你指定的 RequestedTheme UI 主題可以覆蓋應用程式層級 的 RequestedTheme

(繼承來源 FrameworkElement)
Resources

取得本地定義的資源字典。 在 XAML 中,你可以透過 XAML 隱含的集合語法,將資源項目建立為屬性元素的 frameworkElement.Resources 子物件元素。

(繼承來源 FrameworkElement)
Rotation

設定順時針旋轉的角度,以度數為單位。 相對於旋轉軸和中心點旋轉。 會影響元素的渲染位置。

(繼承來源 UIElement)
RotationAxis

讓軸線旋轉元素。

(繼承來源 UIElement)
RotationTransition

取得或設定 ScalarTransition,讓 Rotation 屬性的變化動畫化。

(繼承來源 UIElement)
RowDefinitions

會取得此 Grid 實例中定義的 RowDefinition 物件清單。

RowProperty

識別 Grid.Row XAML 附加屬性。

RowSpacing

取得或設定格列間均勻距離(像素數)。

RowSpacingProperty

識別 RowSpacing 依賴性質。

RowSpanProperty

識別 Grid.RowSpan XAML 附加屬性。

Scale

取得或設定元素的比例。 相對於元素的中心點進行縮放。 會影響元素的渲染位置。

(繼承來源 UIElement)
ScaleTransition

取得或設定 Vector3Transition,用來動畫化 Scale 屬性的變更。

(繼承來源 UIElement)
Shadow

取得或設定 元素所轉換的陰影效果。

(繼承來源 UIElement)
Style

在版面設計和渲染過程中,會取得或設定一個實例樣 ,應用於該物件。

(繼承來源 FrameworkElement)
TabFocusNavigation

取得或設定一個值,改變 tab 鍵和 TabIndex 對此控制項的運作方式。

(繼承來源 UIElement)
TabIndex

取得或設定一個值,決定使用者使用 Tab 鍵在控制項中移動時,元素獲得焦點的順序。

(繼承來源 UIElement)
Tag

取得或設定一個任意物件值,可用來儲存該物件的自訂資訊。

(繼承來源 FrameworkElement)
Transform3D

在渲染這個元素時,會取得或設定 3D 轉換效果套用。

(繼承來源 UIElement)
TransformMatrix

取得或設定轉換矩陣以套用到元素。

(繼承來源 UIElement)
Transitions

取得或設定適用於 UIElementTransition 風格元素集合。

(繼承來源 UIElement)
Translation

取得或設定元素的 x、y 和 z 渲染位置。

(繼承來源 UIElement)
TranslationTransition

取得或設定 Vector3Transition,用來動畫化 Translation 屬性的變更。

(繼承來源 UIElement)
Triggers

取得為 FrameworkElement 定義的動畫觸發器集合。 不常用。 請參閱備註。

(繼承來源 FrameworkElement)
UseLayoutRounding

取得或設定一個值,決定物件及其視覺子樹的渲染是否應該使用捨入行為,使渲染對齊到整像素。

(繼承來源 UIElement)
UseSystemFocusVisuals

取得或設定一個值,指示控制使用系統繪製的焦點視覺化,還是控制模板中定義的焦點視覺化。

(繼承來源 UIElement)
VerticalAlignment

取得或設定當 FrameworkElement 被組合在父物件(如面板或項目控制項)時,套用到的垂直對齊特性。

(繼承來源 FrameworkElement)
Visibility

取得或設定 UIElement 的可見性。 不可見的 A UIElement 不會被渲染,也無法向佈局傳達其期望大小。

(繼承來源 UIElement)
Width

取得或設定 FrameworkElement 的寬度。

(繼承來源 FrameworkElement)
XamlRoot

取得或設定 XamlRoot 該元素正在被觀看的區域。

(繼承來源 UIElement)
XYFocusDown

當使用者按下遊戲控制器的方向鍵(方向鍵)時,會取得或設定該物件被聚焦的目標。

(繼承來源 UIElement)
XYFocusDownNavigationStrategy

取得或設定一個值,指定用以決定下行導覽目標元素的策略。

(繼承來源 UIElement)
XYFocusKeyboardNavigation

取得或設定一個值,使鍵盤方向鍵導覽啟用或停用。

(繼承來源 UIElement)
XYFocusLeft

當使用者按下遊戲控制器方向鍵(D-pad)左鍵時,會取得或設定該物件被聚焦。

(繼承來源 UIElement)
XYFocusLeftNavigationStrategy

取得或設定一個值,指定用來決定左邊導航目標元素的策略。

(繼承來源 UIElement)
XYFocusRight

當使用者按下遊戲控制器方向鍵(方向鍵)時,該物件會被聚焦。

(繼承來源 UIElement)
XYFocusRightNavigationStrategy

取得或設定一個值,指定用以決定右向導航目標元素的策略。

(繼承來源 UIElement)
XYFocusUp

當使用者按下遊戲控制器的方向鍵(D-pad)時,會取得或設定該物件會被聚焦。

(繼承來源 UIElement)
XYFocusUpNavigationStrategy

取得或設定一個值,指定用以決定上行導航目標元素的策略。

(繼承來源 UIElement)

附加屬性

名稱 Description
Column

當子版面配置被父網格版面容器處理時,取得或設定元素的欄位對齊。

ColumnSpan

取得或設定一個值,表示該元素內容在父網格中所跨越的總欄位數。

Row

當子版面配置被父網格版面容器處理時,取得或設定元素的列對齊。

RowSpan

取得或設定一個值,表示元素內容在父網格中所跨越的總列數。

方法

名稱 Description
AddHandler(RoutedEvent, Object, Boolean)

為指定的路由事件新增一個路由事件處理器,並將該處理器加入目前元素的處理器集合中。 指定handledEventsTootrue即使事件在其他地方處理,也能呼叫所提供的處理器。

(繼承來源 UIElement)
Arrange(Rect)

定位子物件並決定 UIElement 的大小。 為其子元素實作自訂版面配置的父物件,應從其版面覆寫實作中呼叫此方法,形成遞迴版面更新。

(繼承來源 UIElement)
ArrangeOverride(Size)

提供佈局「編排」路徑的行為。 類別可以覆寫此方法,定義自己的「排列」傳遞行為。

(繼承來源 FrameworkElement)
CancelDirectManipulations()

取消任何包含當前 UIElementScrollViewer 父程式上的直接操作處理(系統定義的平移/縮放)。

(繼承來源 UIElement)
CapturePointer(Pointer)

將指標擷取設定到 UIElement。 一旦被捕獲,只有被捕獲的元素會觸發與指標相關的事件。

(繼承來源 UIElement)
ClearValue(DependencyProperty)

清除依賴性財產的局部價值。

(繼承來源 DependencyObject)
FindName(String)

擷取具有指定識別碼名稱的物件。

(繼承來源 FrameworkElement)
FindSubElementsForTouchTargeting(Point, Rect)

啟用 UIElement 子類別,以揭露有助於解決觸控目標的子元素。

(繼承來源 UIElement)
Focus(FocusState)

嘗試將焦點設定為這個專案。

(繼承來源 UIElement)
GetAnimationBaseValue(DependencyProperty)

回傳任何為相依屬性建立的基礎值,適用於動畫未啟用時。

(繼承來源 DependencyObject)
GetBindingExpression(DependencyProperty)

回傳代表指定屬性綁定的 BindingExpression

(繼承來源 FrameworkElement)
GetChildrenInTabFocusOrder()

啟用 UIElement 子類別,以暴露參與 Tab 焦點的子元素。

(繼承來源 UIElement)
GetColumn(FrameworkElement)

從指定的 FrameworkElement 取得 Grid.Column XAML attached 屬性的值。

GetColumnSpan(FrameworkElement)

從指定的 FrameworkElement 取得 Grid.ColumnSpan XAML attached 屬性的值。

GetRow(FrameworkElement)

從指定的 FrameworkElement 取得 Grid.Row XAML attached 屬性的值。

GetRowSpan(FrameworkElement)

從指定的 FrameworkElement 取得 Grid.RowSpan XAML attached 屬性的值。

GetValue(DependencyProperty)

回傳 DependencyObject 中相依屬性的當前有效值。

(繼承來源 DependencyObject)
GetVisualInternal()

取回該元素所解析的 。Visual

(繼承來源 UIElement)
GoToElementStateCore(String, Boolean)

當在衍生類別中實作時,能在程式碼中為控制範本逐狀態建構視覺化樹,而非在控制啟動時載入所有狀態的 XAML。

(繼承來源 FrameworkElement)
InvalidateArrange()

使 UIElement 的 arrange 狀態(layout)失效。 失效後, UIElement 的版面會被非同步更新。

(繼承來源 UIElement)
InvalidateMeasure()

使 UIElement 的測量狀態(佈局)失效。

(繼承來源 UIElement)
InvalidateViewport()

會使用於計算有效視窗UIElement 的視窗狀態失效。

(繼承來源 FrameworkElement)
Measure(Size)

更新 UIElementDesiredSize 。 通常,實作自訂版面版面子版面的物件會從自己的 MeasureOverride 實作中呼叫此方法,形成遞迴版面更新。

(繼承來源 UIElement)
MeasureOverride(Size)

提供佈局週期中「測量」通道的行為。 類別可以覆寫此方法,定義自己的「Measure」通過行為。

(繼承來源 FrameworkElement)
OnApplyTemplate()

每當應用程式碼或內部程序(如重建版面操作)呼叫 ApplyTemplate 時,都會被呼叫。 簡單來說,這表示在應用程式中顯示 UI 元素之前,會呼叫這個方法。 覆寫此方法以影響類別預設的模板後邏輯。

(繼承來源 FrameworkElement)
OnBringIntoViewRequested(BringIntoViewRequestedEventArgs)

BringIntoViewRequested 事件發生前被呼叫。

(繼承來源 UIElement)
OnCreateAutomationPeer()

當在衍生類別中實作時,會回傳類別專屬的 AutomationPeer Microsoft UI Automation基礎架構的實作。

(繼承來源 UIElement)
OnDisconnectVisualChildren()

覆寫此方法,實作當類別特定內容或子屬性移除項目時,版面與邏輯應如何運作。

(繼承來源 UIElement)
OnKeyboardAcceleratorInvoked(KeyboardAcceleratorInvokedEventArgs)

當鍵盤 快捷鍵(或加速器) 在你的應用程式中處理時會被呼叫。 覆寫此方法,以處理應用程式在啟動鍵盤加速器時的回應。

(繼承來源 UIElement)
OnProcessKeyboardAccelerators(ProcessKeyboardAcceleratorEventArgs)

在你的應用程式處理鍵盤 快捷鍵(或加速器) 之前,這會被呼叫。 每當應用程式程式碼或內部程序呼叫 ProcessKeyboardAccelators 時會被呼叫。 覆寫此方法以影響預設加速器的處理方式。

(繼承來源 UIElement)
PopulatePropertyInfo(String, AnimationPropertyInfo)

定義了一個可以被動畫化的屬性。

(繼承來源 UIElement)
PopulatePropertyInfoOverride(String, AnimationPropertyInfo)

當在派生類別中覆寫時,定義了一個可被動畫化的屬性。

(繼承來源 UIElement)
ReadLocalValue(DependencyProperty)

若設定了本地值,則回傳依賴性質的局部值。

(繼承來源 DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

註冊一個通知函式,用於監聽此 DependencyObject 實例中特定 DependencyProperty 的變更。

(繼承來源 DependencyObject)
ReleasePointerCapture(Pointer)

UIElement 釋放指標擷取以捕捉特定指標。

(繼承來源 UIElement)
ReleasePointerCaptures()

釋放此元素所持有的所有指標捕獲。

(繼承來源 UIElement)
RemoveHandler(RoutedEvent, Object)

移除此 UIElement 中指定的路由事件處理程序。 通常該處理器是由 AddHandler 新增的。

(繼承來源 UIElement)
SetBinding(DependencyProperty, BindingBase)

利用提供的綁定物件將綁定附加到 FrameworkElement

(繼承來源 FrameworkElement)
SetColumn(FrameworkElement, Int32)

在指定的 FrameworkElement 上設定 Grid.Column XAML attached 屬性的值。

SetColumnSpan(FrameworkElement, Int32)

在指定的 FrameworkElement 上設定 Grid.ColumnSpan XAML 附加屬性的值。

SetRow(FrameworkElement, Int32)

設定 Grid.Row XAML attached 屬性在指定的 FrameworkElement 上值。

SetRowSpan(FrameworkElement, Int32)

在指定的 FrameworkElement 上設定 Grid.RowSpan XAML attached 屬性的值。

SetValue(DependencyProperty, Object)

將相依屬性的局部值設定在 DependencyObject 上。

(繼承來源 DependencyObject)
StartAnimation(ICompositionAnimationBase)

開始該元素的指定動畫。

(繼承來源 UIElement)
StartBringIntoView()

向 XAML 框架發起請求,要求將元素在任何可捲動的區域內顯示。

(繼承來源 UIElement)
StartBringIntoView(BringIntoViewOptions)

會向 XAML 框架發起請求,使用指定的選項將元素帶入視野。

(繼承來源 UIElement)
StartDragAsync(ExpPointerPoint)

定義彈性的格線區域,由欄與列組成。 網格的子元素會根據其列/欄指派(使用 Grid.RowGrid.Column 附加屬性設定)及其他邏輯來測量與排列。

(繼承來源 UIElement)
StartDragAsync(PointerPoint)

啟動拖放操作。

Important

若使用者以管理員身份以提升模式執行應用程式,則不支援。

(繼承來源 UIElement)
StopAnimation(ICompositionAnimationBase)

停止元素上指定的動畫。

(繼承來源 UIElement)
TransformToVisual(UIElement)

回傳一個轉換物件,可用於將座標從 UIElement 轉換到指定物件。

(繼承來源 UIElement)
TryInvokeKeyboardAccelerator(ProcessKeyboardAcceleratorEventArgs)

嘗試透過搜尋整個 UIElement 視覺樹來呼叫 鍵盤捷徑(或 加速器)。

(繼承來源 UIElement)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

取消先前透過呼叫 RegisterPropertyChangedCallback 註冊的變更通知。

(繼承來源 DependencyObject)
UpdateLayout()

確保 UIElement 中所有子物件的位置都正確更新以進行版面配置。

(繼承來源 UIElement)

事件

名稱 Description
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)
GettingFocus

發生在 UIElement 獲得焦點之前。 這個事件會同步提高,以確保活動在進行時焦點不會被轉移。

(繼承來源 UIElement)
GotFocus

UIElement 獲得焦點時會發生。 此事件會非同步啟動,因此焦點能在沸騰完成前再次移動。

(繼承來源 UIElement)
Holding

當本元素的命中測試區域發生原本未處理的 Hold 互動時,會發生這種情況。

(繼承來源 UIElement)
KeyDown

UIElement 正在對焦時按下鍵盤鍵時,會發生這種情況。

(繼承來源 UIElement)
KeyUp

UIElement 正在對焦時放開鍵盤鍵時會發生。

(繼承來源 UIElement)
LayoutUpdated

當視覺樹的配置改變時,會發生在與佈局相關的屬性改變值或其他會刷新佈局的動作時。

(繼承來源 FrameworkElement)
Loaded

FrameworkElement 已被建構並加入物件樹,並準備進行互動時,會發生這種情況。

(繼承來源 FrameworkElement)
Loading

FrameworkElement 開始載入時會發生。

(繼承來源 FrameworkElement)
LosingFocus

發生在 UIElement 失去焦點之前。 這個事件會同步提高,以確保活動在進行時焦點不會被轉移。

(繼承來源 UIElement)
LostFocus

UIElement 失去焦點時會發生。 此事件會非同步啟動,因此焦點能在沸騰完成前再次移動。

(繼承來源 UIElement)
ManipulationCompleted

當對 UIElement 進行操作完成時,會發生。

(繼承來源 UIElement)
ManipulationDelta

當輸入裝置在操作期間變更位置時發生。

(繼承來源 UIElement)
ManipulationInertiaStarting

當輸入裝置在操作過程中失去與 UIElement 物件的接觸,導致慣性開始時,會發生這種情況。

(繼承來源 UIElement)
ManipulationStarted

當輸入裝置開始對 UIElement 進行操作時,會發生這種情況。

(繼承來源 UIElement)
ManipulationStarting

第一次建立操作處理器時發生。

(繼承來源 UIElement)
NoFocusCandidateFound

當使用者嘗試移動焦點(透過 Tab 鍵或方向箭頭)但焦點無法移動,因為該方向找不到焦點候選時,會發生這種情況。

(繼承來源 UIElement)
PointerCanceled

當一個曾經接觸到的指標異常失去接觸時,就會發生這種情況。

(繼承來源 UIElement)
PointerCaptureLost

當該元素先前持有的指標捕獲移至其他元素或其他位置時,會發生此現象。

(繼承來源 UIElement)
PointerEntered

當指標進入該元素的命中測試區域時發生。

(繼承來源 UIElement)
PointerExited

當指標離開該元素的命中測試區域時,會發生。

(繼承來源 UIElement)
PointerMoved

當指標移動時,指標仍停留在該元素的命中測試區域內。

(繼承來源 UIElement)
PointerPressed

當指標裝置在此元素內啟動 按鍵 動作時,會發生這種情況。

(繼承來源 UIElement)
PointerReleased

當先前發起 新聞 行動的指標裝置在此元素內被釋放時,會發生這種情況。 請注意, 新聞行動 結束時不保證觸發 PointerReleased 事件;其他事件可能會觸發。 更多資訊請參閱 備註。

(繼承來源 UIElement)
PointerWheelChanged

當指標輪的 delta 值改變時,會發生這種情況。

(繼承來源 UIElement)
PreviewKeyDown

UIElement 正在對焦時按下鍵盤鍵時,會發生這種情況。

(繼承來源 UIElement)
PreviewKeyUp

UIElement 正在對焦時放開鍵盤鍵時會發生。

(繼承來源 UIElement)
ProcessKeyboardAccelerators

當按下 鍵盤快捷鍵(或加速器) 時會發生。

(繼承來源 UIElement)
RightTapped

當指標正好在元素上方時,右鍵輸入刺激發生。

(繼承來源 UIElement)
SizeChanged

ActualHeightActualWidth 屬性在 FrameworkElement 上的值改變時,會發生這種情況。

(繼承來源 FrameworkElement)
Tapped

當未處理的 Tap 互動發生在該元件的命中測試區域時。

(繼承來源 UIElement)
Unloaded

當該物件不再連接到主物件樹時,會發生這種情況。

(繼承來源 FrameworkElement)

適用於

另請參閱