c# - 如何使用 MVVM 绑定(bind)多个数据网格源?

标签 c# .net wpf mvvm

让我给你看一个简单 有问题的解决方案,然后是更多 复杂 没有解决方案的问题。

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/

相关文章:

c# - 删除文本框上的默认鼠标悬停/焦点效果

c# - MVC 5将单选按钮字符串值发送到后操作方法

c# - .NET 的不同 MVC 框架的优缺点

c# - ASMX Web 服务方法单例

c# - 在 IQueryable 中多次执行 ToList

c# - 无法从 ASP.NET 连接到 MySQL 数据库

c# - Common.Logging 支持记录到文件。

C#字节加法操作

wpf - MVVM - 如何根据列表中的选定项目打开窗口?

wpf - 我如何制作一个在单击鼠标时闪烁/淡出的控件? ( window )