我有一个网格控件,两行两列。
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition x:Name="row1"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition x:Name="column1"/>
</Grid.ColumnDefinitions>
</Grid>
现在我有另一个,默认情况下它的位置在row1中。 当窗口宽度大于1024时,我想将gridX的位置设置为column1。
我只是想知道更改位置代码,谢谢。
答案 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
属性。