如何更改控件在 uwp 中的位置?

how to change a control's position in uwp?

我有一个网格控件,两行两列。

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition/>
        <RowDefinition x:Name="row1"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition/>
        <ColumnDefinition x:Name="column1"/>
    </Grid.ColumnDefinitions>
</Grid>

现在我有另一个 ,默认情况下它的位置在第 1 行。 当window宽度大于1024时,我想将gridX的位置设置为column1。

我只想知道更改位置代码,谢谢。

通用 Windows 平台提供 AdaptiveTriggers 仅用于此目的。

在页面的根内容元素(通常是 Grid)下定义 VisualState,它由 AdaptiveTrigger 控制并在 window 时显示宽度大于 1024 个有效像素。 Setters 然后控制在状态之间转换时应执行的更改。

<VisualStateManager.VisualStateGroups>
    <VisualStateGroup>
        <VisualState>
            <VisualState.StateTriggers>
                <AdaptiveTrigger MinWindowWidth="1024"/>
            </VisualState.StateTriggers>

            <VisualState.Setters>
                <Setter Target="gridX.(Grid.Column)" Value="1"/>
            </VisualState.Setters>
        </VisualState>
    </VisualStateGroup>
</VisualStateManager.VisualStateGroups>

因为Grid.Column是附加的属性,你需要把它放在SetterTarget的括号里。示例代码假定您的网格具有 x:Name="gridX" 属性。