WPF中的多列列表视图在设计时

时间:2010-02-23 03:29:12

标签: wpf listview

我可能听起来很蠢,但我想做一些非常简单的事情。在设计时,我想将列添加到listview控件并向其添加一些数据。我需要在listview的每一列中添加组合框。我无法找到的是在listviewitem中提到列号的位置。任何帮助赞赏的人。

<ListView IsSynchronizedWithCurrentItem="True" Margin="8,68,304,188"  
      BorderThickness="2,2,2,2">
 <ListView.View>
   <GridView>
    <GridViewColumn Width="150" Header="Column1"/>
    <GridViewColumn Width="150" Header="Column2"/>
   </GridView>
 </ListView.View>
 <ListViewItem>                              
 </ListViewItem>            
</ListView>

1 个答案:

答案 0 :(得分:2)

listviewitem中的每一列都是基于GridView定义呈现的,因此没有真正的列号概念。你要做的是将对象绑定到listview的itemsource,并从中创建listviewitems。因此,有几个环节可以跳过。

This link有一个如何做一些简单的对象数据绑定的例子。这样做的好处是,如果将datacontext / itemsource设置为空对象而不是XAML中的静态对象,那么设计时的绑定结构可能会被重用于运行时。

如果您这样做是为了展示示例,或者您只是想要使用静态数据源,我建议您使用XmlDataProvider。然后你将ListView改为这样,


<ListView IsSynchronizedWithCurrentItem="True" Margin="8,68,304,188"  
      BorderThickness="2,2,2,2">
 <ListView.View>
   <GridView>
    <GridViewColumn Width="150" Header="Column1" DisplayMemberPath="{Binding XPath=/A/B}"/>
    <GridViewColumn Width="150" Header="Column2" DisplayMemberPath="{Binding XPath=/A/C"/>
   </GridView>
 </ListView.View>
 <ListViewItem>                              
 </ListViewItem>            
</ListView>