2012-01-31 4 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

감사합니다.이 질문과 답변은 매우 유용합니다. –

답변

3

SelectedItem은 세 가지 요소로, 전체 항목 될 것입니다, 그래서 이런 일을 수행해야합니다

<StackPanel DataContext="{Binding SelectedItem, ElementName=listBox1}"> 
    <TextBlock Text="{Binding XPath=Color}" /> 
    <TextBlock Text="{Binding XPath=Price}" /> 
</StackPanel> 
이 (레이블을 씁니다 Binding.StringFormat를 사용할 수도 Label 컨트롤 자체가 라벨 것들입니다

, 아니요 텍스트 표시)

+0

감사합니다. 주위를 둘러 보았는데, 이것이 내가 필요한 것입니다. –

관련 문제