RelativeSource绑定到ComboBox SelectedItem返回对象的父属性

时间:2010-02-08 06:49:32

标签: wpf silverlight xaml silverlight-3.0

鉴于数据结构 {     收集元素;     String LocationName; }

一个ComboBox绑定到这些项目的集合(在结构中描述),DisplayMemberPath设置为LocationName,如何将数据网格绑定到XAML中所述组合框的SelectedItem.Elements?

据我了解,组合框的SelectedItem属性将返回LocationName。我需要在结构的数据上下文中向上移动然后将SourceItems附加到Elements。正确?但是我似乎无法使用Binding标记。

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 个答案:

答案 0 :(得分:1)

SelectedItem将指向整个对象,这就是为DisplayMemberPath指定LocationName的原因。选择整个对象,但仅显示位置名称。

您可以绑定到SelectedItem.Elements - 如果这不起作用,您的问题就在其他地方。