让我给你看一个简单 有问题的解决方案,然后是更多 复杂 没有解决方案的问题。
1) 想象一下,我有一个书架,里面有一个产品列表。我想显示带有产品的数据网格。
解决方案:在 View 中,我可能会在 datagrid 中插入类似的代码,如下所示:“ItemSource = {Binding Products}”。然后在 ViewModel 中,我创建了一个名为“Products”的 ObservableCollection 属性。
好的。
2) 我有 许多 货架,哪一个有很多产品。我想在彼此下方显示许多数据网格。每个数据网格显示一个货架的产品列表。
现在,我怎样才能绑定(bind)到 许多 数据网格?它可以是 3 个数据网格。它可以是 500 个数据网格。
如何使用 执行此操作MVVM ?
谢谢。我希望你理解我的问题。
最佳答案
假设您的 ViewModel 上有一个名为 Shelves 的 Shelf 集合,您可以使用 ItemsControl,如果需要选择,则可以使用 ListBox,并定义一个 DataTemplate:
<ItemsControl ItemsSource="{Binding Path=Shelves}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<DataGrid ItemsSource="{Binding Path=Products}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
关于c# - 如何使用 MVVM 绑定(bind)多个数据网格源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17180867/