我有一个网格布局,其中包含7个元素。如果windowScreenWidth小于X,我想将最后4个元素从第一行移动到第二行。我已经添加了一个组和状态。
如果我使用<Setter Target="el4.Grid.Row" Value="1"/>
或<Setter Target="el4" Property="Grid.Row" Value="1"/>
xaml抛出异常。
有没有办法制作我想要的东西?
答案 0 :(得分:6)
正确的XAML代码是:Target="el4.(Grid.Row)" Value="1"/>
有点晚,但可能会帮助其他人。因为给出的解决方案不是最好的(使用if而不是样式和状态)。
答案 1 :(得分:0)
找到了一些解决方法:
void WindowSizeChanged(object sender, SizeChangedEventArgs e)
{
double width = e.NewSize.Width;
if(width < 641)
{
el4.SetValue(Grid.RowProperty, 1);
el4.SetValue(Grid.ColumnProperty, 0);
}
else
{
el4.SetValue(Grid.RowProperty, 0);
el4.SetValue(Grid.ColumnProperty, 3);
}
}
public MainPage()
{
SizeChanged += WindowSizeChanged;
this.InitializeComponent();
}