xaml VisualState设置元素的Grid.Row/Column

xaml VisualState设置元素的Grid.Row/Column,xaml,grid-layout,visualstatemanager,Xaml,Grid Layout,Visualstatemanager,我有一个网格布局,一行有7个元素。如果windowScreenWidth小于X,我想将最后4个元素从第一行移动到第二行。我已经添加了一个组和状态。 如果我使用或xaml抛出异常 有什么方法可以满足我的需求吗?找到了一些解决方法: void WindowSizeChanged(object sender, SizeChangedEventArgs e) { double width = e.NewSize.Width; if(width < 641) { el4.SetV

我有一个网格布局,一行有7个元素。如果windowScreenWidth小于X,我想将最后4个元素从第一行移动到第二行。我已经添加了一个组和状态。 如果我使用
xaml抛出异常

有什么方法可以满足我的需求吗?

找到了一些解决方法:

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();
}
void WindowSizeChanged(对象发送方,sizechangedventargs e)
{
双宽度=e.NewSize.width;
如果(宽度<641)
{
el4.SetValue(Grid.RowProperty,1);
el4.SetValue(Grid.ColumnProperty,0);
}
其他的
{
el4.SetValue(Grid.RowProperty,0);
el4.SetValue(Grid.ColumnProperty,3);
}
}
公共主页()
{
SizeChanged+=WindowsSizeChanged;
this.InitializeComponent();
}
找到了一些解决方法:

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();
}
void WindowSizeChanged(对象发送方,sizechangedventargs e)
{
双宽度=e.NewSize.width;
如果(宽度<641)
{
el4.SetValue(Grid.RowProperty,1);
el4.SetValue(Grid.ColumnProperty,0);
}
其他的
{
el4.SetValue(Grid.RowProperty,0);
el4.SetValue(Grid.ColumnProperty,3);
}
}
公共主页()
{
SizeChanged+=WindowsSizeChanged;
this.InitializeComponent();
}

正确的XAML代码是:
Target=“el4.(Grid.Row)”Value=“1”/>


有点晚了,但可能会帮助其他人。因为给出的解决方案不是最好的(使用if而不是样式和状态)。

正确的XAML代码是:
Target=“el4.(Grid.Row)”Value=“1”/>


有点晚了,但可能会帮助其他人。因为给出的解决方案不是最好的(使用if而不是style和states)。

非常感谢,这个解决了的异常让我抓狂!简单的财产包围解决了问题。再次非常感谢。非常感谢,这个解决了的异常让我抓狂!简单的财产包围解决了问题。再次非常感谢。