将组合框选定的项目内容绑定到元素

时间:2013-04-18 01:03:03

标签: c# wpf data-binding datagrid combobox

我正在使用实体框架和数据绑定来使用WPF来管理数据库中的PRODUCT和BRAND。 PRODUCT包含BrandID属性。为了在数据网格中显示品牌名称而不是ID,我使用了像这样的DataGridComboBoxColumn:

C#

gridProducts.DataContext = this.DbContext.Products;
brandColumn.ItemsSource = this.DbContext.Brands;

XAML

<DataGrid Name="gridProducts" IsSynchronizedWithCurrentItem="True"
          RowEditEnding="dg_RowEditEnding" ItemsSource="{Binding}" >
  <DataGrid.Columns>
    ...
    <DataGridComboBoxColumn Header="BRAND" x:Name="brandColumn" DisplayMemberPath="BrandName" 
       SelectedValuePath="ID" SelectedValueBinding="{Binding Path=BrandID}" />
 </DataGrid.Columns>
<DataGrid>

工作正常。但是现在我需要将组合框选择的值绑定到文本框文本中。我试过这个:

XAML

    <TextBox Name="brand" Text="{Binding Path=SelectedValue.Content, 
      ElementName=brandColumn}"/>

但它不起作用。我怎么知道如何在文本框中绑定组合框选定值(BrandName - 而不是BrandID)?

1 个答案:

答案 0 :(得分:0)

不是在xaml中绑定它,而是在entity / viewmodel中创建一个公共属性并将其绑定到该属性。