【发布时间】:2016-12-02 07:46:13
【问题描述】:
我根据获取的数据创建了多行两列的网格。现在我有一个 Xaml 字符串。如何在加载时在我的用户控件中呈现。必须从我的视图模型中渲染。如何做到这一点?
真实场景,
我将收到来自数据库的图像数量。必须在每行中显示两个图像。但我无法创建恒定的行数。因为它将基于动态数据。如果数据是 10 我必须创建 5 行,更少意味着行也会减少。
所以我计划根据数据在 Viewmodel 中创建 xaml。但是如何在我的用户控件中呈现它。
【问题讨论】:
-
这完全没有必要。您也可以以编程方式创建 UI 元素,而不是解析一段 XAML。或者更好的是,将与布局相关的属性添加到您的视图模型,并使用 ItemsControl 与适当的 ItemsPanel 和 ItemContainerStyle,绑定到视图模型属性。
-
只需创建一个自定义 UserControl 即可从 ViewModel 获取图像并处理所有布局。在 ViewModel 中创建 UI 不是 MVVM。
标签: wpf xaml mvvm data-binding grid