2010-02-08 77 views
0

給定數據結構 集合元素; String LocationName; }RelativeSource綁定到ComboBox的一個父屬性SelectedItem返回對象

而一個綁定到DisplayMemberPath設置爲LocationName的這些項目集合(在結構中描述)的ComboBox,如何將DataGrid綁定到XAML中所述組合框的SelectedItem.Elements?

按照我的理解,組合框的SelectedItem屬性將返回LocationName。我需要在結構的數據上下文中向上移動,然後將SourceItems附加到Elements。正確?不過,我似乎無法使它與綁定標記一起工作。

P.S.我正在使用示例數據來安裝GUI。

謝謝。

更新1:代碼如下:

<ComboBox x:Name="ComboBox1" 
      ItemsSource="{Binding AdSources, Mode=OneWay}" 
      DisplayMemberPath="NameProperty" /> 

<ComboBox x:Name="ComboBox2" 
       ItemsSource="{Binding SelectedItem.CollectionProperty, ElementName=ComboBox1, Mode=OneWay}" 
       DisplayMemberPath="NameProperty2" /> 

<data:DataGrid x:Name="DataGrid" 
     ItemsSource="{Binding SelectedItem.CollectionProperty, ElementName=ComboBox2, Mode=OneWay}"> 
     <data:DataGrid.Columns> 
      <data:DataGridTextColumn Header="Column1" Binding="{Binding Property1}"/> 
     </data:DataGrid.Columns> 
</data:DataGrid> 

回答

1

SelectedItem將指向整個對象,這就是爲什麼你爲LocationName指定DisplayMemberPath。整個對象被選中,但只顯示位置名稱。

你可以綁定到SelectedItem.Elements - 如果這不起作用,你的問題就在別的地方。