使用 MVVM 将数据绑定到 WPF 中的 ListView 控件 [英] Bind data to the ListView control in WPF using MVVM

查看:78
本文介绍了使用 MVVM 将数据绑定到 WPF 中的 ListView 控件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试将数据绑定到 ListView 控件中:

I have tried to bind the data into the ListView control:

<ListView Margin="8" Height="400" Width="650" 
    ItemsSource="{Binding Path=MyData}">
    <ListView.View>
         <GridView>
             <GridViewColumn Header="ID" Width="Auto" 
                  DisplayMemberBinding="Binding Path=ID}" >
             </GridViewColumn>
             <GridViewColumn DisplayMemberBinding="{Binding Path=Name}" 
                  Header="Name" Width="100"/>
             <GridViewColumn DisplayMemberBinding="{Binding Path=Price}" 
                  Header="Price" Width="100"/>
             <GridViewColumn DisplayMemberBinding="{Binding Path=Author}" 
                  Header="Author" Width="100"/>
             <GridViewColumn DisplayMemberBinding="{Binding Path=Catalog}" 
                  Header="Catalog" Width="100"/>
           </GridView>
    </ListView.View>
</ListView>

  ObservableCollection<TableInfo> _MyData
  public ObservableCollection<TableInfo> MyData{ get; set; }

然而,它不会在窗口中显示任何内容,但 MyData 是一个 ObservableCollection.如何绑定数据?

However, it's not display anything in the window but MyData is an ObservableCollection. How do I bind the data?

推荐答案

Tanya,

如果您正确设置了视图模型,并且确定您的 MyData 集合不为 null 或为空,请尝试从您的 xaml 中删除路径"关键字:

If you set your view model properly and if you're sure that your MyData collection is not null or empty, try to remove the "Path" keywords from your xaml:

<ListView Margin="8" Height="400" Width="650" 
    ItemsSource="{Binding Path=MyData}">
    <ListView.View>
         <GridView>
             <GridViewColumn Header="ID" Width="Auto" 
                  DisplayMemberBinding="{Binding ID}" >
             </GridViewColumn>
             <GridViewColumn DisplayMemberBinding="{Binding Name}" 
                  Header="Name" Width="100"/>
             <GridViewColumn DisplayMemberBinding="{Binding Price}" 
                  Header="Price" Width="100"/>
             <GridViewColumn DisplayMemberBinding="{Binding Author}" 
                  Header="Author" Width="100"/>
             <GridViewColumn DisplayMemberBinding="{Binding Catalog}" 
                  Header="Catalog" Width="100"/>
           </GridView>
    </ListView.View>
</ListView>

如果这没有帮助,请检查调试输出并发布它,我们一定会想出一些办法.

If this doesn't help, check the debug output and post it, we will definitely figure something out.

这篇关于使用 MVVM 将数据绑定到 WPF 中的 ListView 控件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆