让我向您展示一个带有解决方案的简单问题,然后向您展示一个没有解决方案的更多复杂问题。

1)假设我有一个架子,上面有一个产品列表。我想与产品一起显示一个数据网格。

解决方案:在View上,我可以在datagrid上插入类似的代码,例如:“ItemSource = {Binding Products}”。然后在ViewModel上,创建一个名为“Products”的ObservableCollection属性。
好的。

2)我有许多货架,并且其中一个有很多产品。我想在彼此下方显示许多数据网格。每个数据网格都显示一个货架的产品列表。

现在,如何绑定(bind)到 MANY 数据网格?可以是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/

10-12 01:59