如何使用WPF XAML中的master-detail与XML数据绑定?

时间:2012-01-31 04:11:40

标签: wpf xml xaml binding

我有一个包含这些节点的XML文件:

<Product>
   <Name>...
   <Color>...
   <Price>...
</Product>

我有一个列表框,显示XML文件中的所有名称,如下所示:

 <ListBox Name="listBox1" ItemsSource="{Binding}">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <DockPanel >
                    <TextBlock Text = "{Binding Name}" />
                </DockPanel>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

当选择列表框中的项目时,我想在2个标签控件上显示所选产品的颜色和价格。

如何将颜色和价格绑定到所选名称? 这意味着我需要从XML文件中获取颜色和价格信息,因为列表框只有名称。 感谢。

1 个答案:

答案 0 :(得分:3)

SelectedItem将是整个项目,包含所有三个元素,所以这样的事情应该这样做:

<StackPanel DataContext="{Binding SelectedItem, ElementName=listBox1}">
    <TextBlock Text="{Binding XPath=Color}" />
    <TextBlock Text="{Binding XPath=Price}" />
</StackPanel>

(可以使用Binding.StringFormat添加标签,Label控件本身用于标记内容,显示文字