【问题标题】:xaml VisualState set Grid.Row/Column of elementxaml VisualState 设置元素的 Grid.Row/Column
【发布时间】:2015-07-21 16:32:58
【问题描述】:

我有一个网格布局,其中有 7 个元素。如果 windowScreenWidth 小于 X,我想将最后 4 个元素从第一行移动到第二行。我已经添加了一个组和状态。 如果我使用<Setter Target="el4.Grid.Row" Value="1"/><Setter Target="el4" Property="Grid.Row" Value="1"/> xaml 抛出异常。

有什么方法可以做我想要的吗?

【问题讨论】:

    标签: xaml grid-layout visualstatemanager


    【解决方案1】:

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

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

    【讨论】:

    • 非常感谢,这个解决了让我抓狂的异常!简单的包围属性解决了问题。再次非常感谢。
    【解决方案2】:

    找到一些解决方法:

    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();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-26
      • 2018-06-02
      • 1970-01-01
      • 1970-01-01
      • 2012-03-28
      相关资源
      最近更新 更多