在Button_Click事件中将WPF列表框绑定到Xml?

时间:2010-02-10 01:44:07

标签: wpf xml data-binding listbox

我正在尝试将ListBox绑定到xaml.cs中的Button_Click事件中的Xml。 我的Xml很简单

     <books>
        <book>ABC/book>
        <book>XYZ</book> 
    </books>

这就是我在做什么..

xaml.cs中的

      XmlDocument x = new XmlDocument();
        x.LoadXml(e.Result.ToString());
        listbox1.ItemsSource = x;

和Xaml是

    <ListBox x:Name="lstbxTrends" Margin="95,112,8,18" ItemsSource="{Binding XPath=Books}">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding XPath=@Book}" />
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

但是Listbox中没有任何内容..?

谢谢你们!

1 个答案:

答案 0 :(得分:2)

您需要设置DataContext:

,而不是在代码中设置ItemsSource
listbox1.DataContext = x;

DataContext是ItemsSource绑定尝试解决的问题(因为您在绑定中未指定其他Source,RelativeSource或ElementName)。