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

本文关键字:绑定 元素 组合 | 更新日期: 2023-09-27 18:09:50

我正在使用实体框架和数据绑定来管理数据库中的产品和品牌。产品包含branddid属性。为了在数据网格中显示品牌名称而不是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 -而不是branddid)的任何想法?

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

与其在xaml中绑定它,不如在实体/视图模型中创建一个通用属性并将其绑定到该属性