首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将XmlDataProvider绑定到ListView时为单行

将XmlDataProvider绑定到ListView时为单行
EN

Stack Overflow用户
提问于 2014-04-26 05:04:42
回答 1查看 133关注 0票数 0

我想在ListView中展示XmlData。XmlDataProvider已正确填充,但Listview仅显示第一行。要显示XmlDocument中的所有行,我必须更改什么?

代码语言:javascript
复制
<Window.Resources>
    <XmlDataProvider x:Key="xmlData"/>
</Window.Resources>
<DockPanel>
    <ListView Padding="4">
        <ListView.ItemsSource>
            <Binding Source="{StaticResource xmlData}" XPath="*"/>
        </ListView.ItemsSource>
        <ListView.View>
            <GridView >
                <GridViewColumn Header="Info" Width="256" DisplayMemberBinding="{Binding XPath=Message}"/>
            </GridView>
        </ListView.View>
    </ListView>
</DockPanel>

在后台代码中:

代码语言:javascript
复制
private void RefreshList(XmlDocument doc)
{
    XmlDataProvider provider = (XmlDataProvider)FindResource("xmlData");
    provider.Document = doc;
    provider.Refresh();
}
EN

回答 1

Stack Overflow用户

发布于 2014-04-26 17:19:58

好的,所以我是这样解决的:

  1. 将XPath添加到Path=InnerText的XmlDataProvider
  2. Using,而不是XPath

请参阅下面的源代码。

代码语言:javascript
复制
<Window.Resources>
    <XmlDataProvider x:Key="xmlData" XPath="//Prototype"/>
</Window.Resources>
<DockPanel>
    <ListView>
        <ListView.ItemsSource>
            <Binding Source="{StaticResource xmlData}" XPath="Message"/>
        </ListView.ItemsSource>
        <ListView.View>
            <GridView >
                <GridViewColumn Width="Auto" DisplayMemberBinding="{Binding Path=InnerText}"/>
            </GridView>
        </ListView.View>
    </ListView>
</DockPanel>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23303012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档