2012-06-08 59 views
1

我正在用C#WPF中的ListView编写应用程序。我在想,如果我失去了的东西的参考,因为我得到这个错误的所有时间:WPF中缺少ListView.Columns

'System.Windows.Controls.ListView' does not contain a definition for 'Columns' and no extension method 'Columns' accepting a first argument of type 'System.Windows.Controls.ListView' could be found (are you missing a using directive or an assembly reference?)`

这不仅与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" }); 

这是我第一次绑定的工作,但我学到了很多东西!

+0

你不用解释了吧,刚刚发布您的代码。我们无法从口头解释中修复语法错误。 ListView没有Columns属性。检查文档:http://msdn.microsoft.com/en-us/library/system.windows.controls.listview.aspx –

+0

WPF!= WinForms –

+0

编辑你的问题,并把代码放在那里。阅读评论要困难得多。 –

回答

3

afaik,GridView有列,ListView没有。

MSDN

Represents a view mode that displays data items in columns for a ListView control.

+0

你说得对,这部分解决了我的问题。不过,我仍然无法将多列项添加到我的gridview。 – P1nGu1n

+0

@ P1nGu1n:为什么要以编程方式添加列?你不能在XAML中做这个吗? – abatishchev

+0

@ P1nGu1n:另见[MSDN](http://msdn.microsoft.com/en-us/library/system.windows.controls.gridview.columns.aspx):'myGridView.Columns.Add(new GridViewColumn() );'。 – abatishchev