【问题标题】:Binding column / row definitions to a Grid in WPF (Dynamic grid)将列/行定义绑定到 WPF 中的网格(动态网格)
【发布时间】:2017-07-03 14:24:19
【问题描述】:

如果我想动态创建具有行和列定义的网格,那么正确的方法是什么?这对我来说可能是最难的事情,因为我不知道从哪里开始。我知道我可以在后面的代码中做到这一点,但这会违反 mvvm 原则吗?

所以我的问题是如何添加或绑定行/列定义?​​

<Grid>
    <ColumnDefinitions>
        // Bind definitions here
    </ColumnDefinitions>

    <RowDefinitions>
        // Bind definitions here
    </RowDefinitions>
</Grid>

我不能使用统一网格或数据网格网格,因为由于某些设计决定,我必须使用普通网格。

【问题讨论】:

标签: c# wpf xaml mvvm


【解决方案1】:

我知道我可以在后面的代码中做到这一点,但这会违反 mvvm 原则吗?

不,不会。 ColumnDefinitionsRowDefinitions 是属于视图的东西。视图模型不应该对这类事物/元素/类型有任何了解。

并且无法将Grid.ColumnDefinitionsGrid.RowDefinitions 属性绑定到某些源集合。

【讨论】:

  • 那么有什么替代品呢?
  • 具体做什么的替代方案?
  • 使用拆分器创建动态响应式网格
  • *.xaml.cs 是视图的代码隐藏,即它是您在 XAML 标记中定义的同一类的一部分。
  • 感谢您的回答。如果所有这些听起来很奇怪,再次抱歉。我对 mvvm 的概念还是陌生的。在应用程序开发方面进行了 4 年的学徒期。
猜你喜欢
  • 1970-01-01
  • 2010-09-22
  • 2013-04-15
  • 2013-11-14
  • 2021-01-17
  • 1970-01-01
  • 2014-08-25
  • 2011-08-11
  • 1970-01-01
相关资源
最近更新 更多