2012-01-31 63 views
2

我有这些节点的XML文件:如何使用WPF XAML中的master-detail绑定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文件中获取颜色和价格信息,因为列表框只有名称。 谢谢。

+0

谢谢 - 我发现这个问题,下面的答案非常有帮助。 – 2013-09-05 13:55:34

回答

3

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

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

(能使用Binding.StringFormat前面加上一个标签,也Label控制本身是标签的东西,不是显示文字)

+0

谢谢 - 环顾四周,这正是我所需要的。 – 2013-09-05 13:55:12