【问题标题】:Missing ListView.Columns in WPFWPF 中缺少 ListView.Columns
【发布时间】:2012-06-12 18:54:33
【问题描述】:

我正在用 C# WPF 中的 ListView 编写应用程序。我想知道我是否错过了某些东西的引用,因为我一直收到这个错误:

“System.Windows.Controls.ListView”不包含“Columns”的定义,并且找不到接受“System.Windows.Controls.ListView”类型的第一个参数的扩展方法“Columns”(您是否缺少using 指令还是程序集引用?)`

这不仅适用于 MyListview.Colums,而且当我想将多列项目添加到我的 ListView 时,例如通过关注 thisMyListView.Items.Add("Column1Text").SubItems.AddRange(row1); 这给了我同样的 SubItems 错误

我很难解释,所以如果有不清楚的地方可以问。

编辑:在您的大力帮助和一些谷歌搜索技巧下,我找到了解决方案。我的 XAML 代码:

<Grid>
    <ListView x:Name="MyListView"
        <ListView.View>
            <GridView x:Name="MyGridView">
                <GridViewColumn Header="#" DisplayMemberBinding="{Binding Number}" Width="24" />
                <GridViewColumn Header="Song" DisplayMemberBinding="{Binding Song}" Width="390" />
            </GridView>
        </ListView.View>
    </ListView>

这里是添加项目的方法:

        MyListView.Items.Add(new { Number = 1, Song = "My first song" });
        MyListView.Items.Add(new { Number = 2, Song = "My second song" });

这是我第一次使用绑定,但我学到了很多东西!

【问题讨论】:

  • 您不必解释,只需发布​​您的代码。我们无法从口头解释中修复语法错误。 ListView 没有 Columns 属性。查看文档:msdn.microsoft.com/en-us/library/…
  • 编辑您的问题,并将代码放入其中。作为评论阅读起来要困难得多。
  • 感谢您的回答,我已添加代码。
  • @H.B.我刚刚发现我混淆了一些 XAML 和 WinForms 代码,SubItems 是 Winforms 代码。

标签: c# wpf listview compiler-errors listviewitem


【解决方案1】:

afaik,GridView 有列,ListView 没有。

MSDN:

表示在 ListView 控件的列中显示数据项的视图模式。

【讨论】:

  • 你是对的,这部分解决了我的问题。但是我仍然无法将多列项目添加到我的网格视图中。
  • @P1nGu1n:为什么要以编程方式添加列?你不能在 XAML 中这样做吗?
  • @P1nGu1n:另见MSDNmyGridView.Columns.Add(new GridViewColumn());
  • 我知道如何在 XAML 中执行此操作,但我读到它也可以以编程方式执行,但我无法使其工作。添加列有效,但不幸的是,添加项目仍然无效。
  • @P1nGu1n: Quick search 提供了许多非常有用的帖子,如何以编程方式添加列和行。似乎你有 WinForms 背景,但你需要记住 WPF 有不同的 API 和方法。 WPF GridView 的列使用 Binding 从一行中读取一个属性。
猜你喜欢
  • 1970-01-01
  • 2010-11-30
  • 2016-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-29
相关资源
最近更新 更多