2013-04-18 3 views
0

Я работаю с WPF, используя Entity Framework и Data Binding для управления PRODUCT и BRAND в базе данных. ПРОДУКТ включает свойство BrandID. Для того, чтобы отобразить в DataGrid бренд вместо ID, я использовал DataGridComboBoxColumn так:Связывание содержимого выделенного элемента combobox с элементом

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> 

Он прекрасно работает. Но теперь мне нужно связать выбранное значение combobox с текстом текстового поля. Я попытался это:

XAML

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

Но это не работает. Любая идея, как я могу привязать выбранное значение combobox (BrandName - не BrandID) в текстовом поле?

+0

Ответит ли это на ваш вопрос? http://stackoverflow.com/questions/561166/binding-wpf-combobox-to-a-custom-list –

ответ

0

Вместо того чтобы связывать его в xaml, создайте общее свойство в entity/viewmodel и привяжите его к этому.