【问题标题】:RelativeSource binding to a parent property of a ComboBox SelectedItem return objectRelativeSource 绑定到 ComboBox SelectedItem 返回对象的父属性
【发布时间】:2010-02-08 06:49:32
【问题描述】:

给定数据结构 { 集合元素; 字符串位置名称; }

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

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

附:我正在使用示例数据装配 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>

【问题讨论】:

    标签: wpf silverlight xaml silverlight-3.0


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2015-09-29
      • 2012-10-12
      • 1970-01-01
      • 2012-04-29
      • 2021-02-15
      • 1970-01-01
      • 2014-12-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多