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

时间:2018-02-01 07:02:03

标签: uwp uwp-xaml

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

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

现在我有另一个,默认情况下它的位置在row1中。 当窗口宽度大于1024时,我想将gridX的位置设置为column1。

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

1 个答案:

答案 0 :(得分:1)

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

在您网页的根内容元素下(通常为Grid),您定义VisualState,由AdaptiveTrigger控制,并在窗口宽度大于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是附加属性,因此您需要将其包含在Setter的{​​{1}}中的括号中。示例代码假设您的网格具有Target属性。

相关问题