与Listview和XmlDataprovider的TwoWayBinding

时间:2012-07-31 12:58:40

标签: c# wpf xaml data-binding

我搜索了很多,但我找不到解决问题的方法。

我有一个XML文件

<Module>
<Accounting>
    <tag tagname="tag1" displayname="display1">True</tag>
    <tag tagname="tag2" displayname="dispaly2">False</tag>
</Accounting>
</Module>

这就是我的问题: 我想将这个XML-File绑定到listview,在那里我可以看到displayname和一个复选框,我可以(un)检查标签(双向绑定)

我的XAML文件:

<ListView Height="134.113" Width="227.409" Margin="0,-100,30,10">
                    <ListViewItem>
                        <StackPanel>
                            <CheckBox IsChecked="{Binding XPath=./Module/Accounting/tag}">
                                <TextBlock Text="{Binding XPath=./Module/Accounting/tag/@displayname}"/>
                            </CheckBox>
                        </StackPanel>
                    </ListViewItem>
                </ListView>

但是listview只显示第一个项目“display1”而不是第二个..任何人都知道为什么? (可能有任何问题,因为我有(另一个)xmldataprovider?)

感谢
ps:对不起,英语不是我的第一语言;)

1 个答案:

答案 0 :(得分:2)

更新:

我看到你的问题是什么......如果通过在XAML中定义一个项目来设置Items集合(这就是你正在做的事情)......那么你就不能设置{{ 1}}。

取走ItemsSource ...并通过为ListViewItem定义.View.ItemsTemplate来定义您希望展示商品的方式,以便知道如何展示你的物品。

见这里:


使用ListView,如下所示:

如果您希望能够在XML文档中创建新节点,请使用:

并绑定到文档中的项目: