在WPF中的XAML中,将数据从XmlDataProvider绑定到ListBox失败

张启晨

最近,我开始学习WPF。学习绑定数据时,我创建了一个listbox并将数据从a绑定XmlDataProvider到它。这是的代码XmlDataProvider

<Grid.Resources>
......
<XmlDataProvider x:Key="ExpenseDataSource" XPath="Expenses">
    <x:XData>
        <Expenses xmlns="">
            <Person Name="Mike" Department="Legal">
                <Expense ExpenseType="Lunch" ExpenseAmount="50" />
                <Expense ExpenseType="Transportation" ExpenseAmount="50" />
            </Person>
            <Person Name="Lisa" Department="Marketing">
                <Expense ExpenseType="Document printing"
                         ExpenseAmount="50"/>
            <Expense ExpenseType="Gift" ExpenseAmount="125" />
            </Person>
            <Person Name="John" Department="Engineering">
                <Expense ExpenseType="Magazine subscription" 
                         ExpenseAmount="50"/>
                <Expense ExpenseType="New machine" ExpenseAmount="600" />
                <Expense ExpenseType="Software" ExpenseAmount="500" />
            </Person>
            <Person Name="Mary" Department="Finance">
                <Expense ExpenseType="Dinner" ExpenseAmount="100" />
            </Person>
        </Expenses>
    </x:XData>
</XmlDataProvider>
......
</Grid.Resources>

这是代码Listbox

<Grid>
......
<ListBox Name="peopleListBox" Grid.Column="1" Grid.Row="2" 
         ItemsSource="{Binding Source={StaticResource ExpenseDataSource}, XPath=Person}">
<!-- Name item template -->
    <DataTemplate>
        <Label Content="{Binding XPath=@Name}"/>
    </DataTemplate>
</ListBox>
......
<Grid>

当我编译并运行代码时,ListBox其中没有任何内容。我尝试从MSDN中找到解决方案,但无法理解错误所在。

杰西·格洛弗(Jesse Glover)

这至少应该使您入门。我建议您从更简单的角度出发,然后逐步找到更困难的解决方案。

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApplication1"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Grid.Resources>
            <XmlDataProvider x:Key="ExpenseDataSource" XPath="Expenses">
                <x:XData>
                    <Expenses xmlns="">
                        <Person Name="Mike" Department="Legal">
                            <Expense ExpenseType="Lunch" ExpenseAmount="50" />
                            <Expense ExpenseType="Transportation" ExpenseAmount="50" />
                        </Person>
                        <Person Name="Lisa" Department="Marketing">
                            <Expense ExpenseType="Document printing"
                         ExpenseAmount="50"/>
                            <Expense ExpenseType="Gift" ExpenseAmount="125" />
                        </Person>
                        <Person Name="John" Department="Engineering">
                            <Expense ExpenseType="Magazine subscription" 
                         ExpenseAmount="50"/>
                            <Expense ExpenseType="New machine" ExpenseAmount="600" />
                            <Expense ExpenseType="Software" ExpenseAmount="500" />
                        </Person>
                        <Person Name="Mary" Department="Finance">
                            <Expense ExpenseType="Dinner" ExpenseAmount="100" />
                        </Person>
                    </Expenses>
                </x:XData>
            </XmlDataProvider>
        </Grid.Resources>
        <ListBox Name="peopleListBox" Grid.Column="1" Grid.Row="2" 
         DataContext="{Binding Source={StaticResource ExpenseDataSource}}" ItemsSource="{Binding Name}"/>
    </Grid>
</Window>

我修剪了列表框,使其没有带有datatemplate的标签(实际上,您可以将数据模板替换为Listbox中的堆栈面板。我将列表框的数据上下文设置为静态资源,并将itemsource设置为Binding Name。当前将单词Expenses作为单独的字符串显示。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

WPF数据将ViewModel属性绑定到用户控件内部的ListBox中,背后的代码

来自分类Dev

如何正确地将数据从 Web API 绑定到 WPF 中的 ListBox?

来自分类Dev

使用XMLDataProvider作为静态资源将数据绑定到ComboBox WPF

来自分类Dev

如何将ListBox绑定到xaml中的视图模型的成员?

来自分类Dev

WPF数据绑定到XAML

来自分类Dev

数据将Int属性绑定到WPF中的Enum

来自分类Dev

如何将数据绑定到WPF中的gridcontrol

来自分类Dev

数据将Int属性绑定到WPF中的Enum

来自分类Dev

wpf 帮助将数据绑定到 TabControl 中的控件

来自分类Dev

MVVM-如何将字符串的ObservableCollection绑定到ListBox WPF中

来自分类Dev

WPF C#如何将AppStrings.resx中定义的值绑定到XAML内容

来自分类Dev

WPF从数据绑定listBox中的选定项目嵌套的属性

来自分类Dev

数据绑定到组合框WPF XAML

来自分类Dev

Xaml中的公共属性数据绑定失败

来自分类Dev

如何将面板的数据上下文绑定到XAML中的父对象?

来自分类Dev

如何将数据从MySql数据库(WPF)中的表绑定到组合框

来自分类Dev

如何将数据从MySql数据库(WPF)中的表绑定到组合框

来自分类Dev

数据绑定到C#XAML中的中心部分

来自分类Dev

将数据绑定到列表中的对象

来自分类Dev

将数据绑定到DetailView中的标签

来自分类Dev

数据将TextBox绑定到后面代码中的字符串失败

来自分类Dev

将XAML中的字体真棒字符绑定到文本

来自分类Dev

将列表框绑定到XAML中的SelectionChanged ComboBox

来自分类Dev

如何将itemSource绑定到XAML中的列表

来自分类Dev

如何将GridView绑定到XAML中的视频列表?

来自分类Dev

将高度/宽度绑定到XAML中的子元素

来自分类Dev

XAML / WPF中的ListBox项布局

来自分类Dev

如何将数据从xml标记绑定到xamdatagrid或wpf中的datagrid的组合框?

来自分类Dev

如何将数据集合绑定到 WPF 应用程序中的 DataGrid?

Related 相关文章

  1. 1

    WPF数据将ViewModel属性绑定到用户控件内部的ListBox中,背后的代码

  2. 2

    如何正确地将数据从 Web API 绑定到 WPF 中的 ListBox?

  3. 3

    使用XMLDataProvider作为静态资源将数据绑定到ComboBox WPF

  4. 4

    如何将ListBox绑定到xaml中的视图模型的成员?

  5. 5

    WPF数据绑定到XAML

  6. 6

    数据将Int属性绑定到WPF中的Enum

  7. 7

    如何将数据绑定到WPF中的gridcontrol

  8. 8

    数据将Int属性绑定到WPF中的Enum

  9. 9

    wpf 帮助将数据绑定到 TabControl 中的控件

  10. 10

    MVVM-如何将字符串的ObservableCollection绑定到ListBox WPF中

  11. 11

    WPF C#如何将AppStrings.resx中定义的值绑定到XAML内容

  12. 12

    WPF从数据绑定listBox中的选定项目嵌套的属性

  13. 13

    数据绑定到组合框WPF XAML

  14. 14

    Xaml中的公共属性数据绑定失败

  15. 15

    如何将面板的数据上下文绑定到XAML中的父对象?

  16. 16

    如何将数据从MySql数据库(WPF)中的表绑定到组合框

  17. 17

    如何将数据从MySql数据库(WPF)中的表绑定到组合框

  18. 18

    数据绑定到C#XAML中的中心部分

  19. 19

    将数据绑定到列表中的对象

  20. 20

    将数据绑定到DetailView中的标签

  21. 21

    数据将TextBox绑定到后面代码中的字符串失败

  22. 22

    将XAML中的字体真棒字符绑定到文本

  23. 23

    将列表框绑定到XAML中的SelectionChanged ComboBox

  24. 24

    如何将itemSource绑定到XAML中的列表

  25. 25

    如何将GridView绑定到XAML中的视频列表?

  26. 26

    将高度/宽度绑定到XAML中的子元素

  27. 27

    XAML / WPF中的ListBox项布局

  28. 28

    如何将数据从xml标记绑定到xamdatagrid或wpf中的datagrid的组合框?

  29. 29

    如何将数据集合绑定到 WPF 应用程序中的 DataGrid?

热门标签

归档