2016-01-26 3 views
0

У меня есть класс Product с некоторыми properties, которые задаются WCFasync звонок в базу данных. У меня есть два textboxes и combobox, и я хочу связать объект Product с этими controls. Binding textboxes было легко и работает, моя единственная проблема в том, что я не знаю, как привязать SelectedItem к свойству ProductTypeName?Связывание данных ComboBox

Product класс

public class Product 
{ 
public string Code{get;set;} 
public string Description{get;set;} 
public string ProductTypeName { get; set;} 
} 

XAML для textbox

<TextBox HorizontalAlignment="Left" 
     x:Name="txtDetails" 
     Text="{Binding Description}"/> 

В коде позади я просто создать объект Product и привязать его к DataContext. Работает хорошо для textboxes, но понятия не имеют, как это сделать для ComboBox

Product p = new Product(); 
product.Description = e.Result[0].Description; 
product.Code = e.Result[0].Code; 
product.ProductTypeName = e.Result[0].ProductTypeName 
this.DataContext = p 

Теперь я хочу SelectedItem моего combobox быть установлен в соответствии с p.ProductTypeName, но я не знаю, как сделать это.

ПРИМЕЧАНИЕ: Мой ComboBox уже заселен и установлен в 0th index. Как я могу связать его в соответствии с p.ProductTypeName? Думаю, мне просто нужно внести изменения в свой XAML.

<ComboBox Name="cboProductType" 
      DisplayMemberPath="ProductTypeName" 
      SelectedValuePath="ProductTypeID" 
      SelectedIndex="0"/> 

ответ

0

Просто добавьте в код XAML: SelectedItem = "{Binding} ProductTypeName"

+0

я сделал. Но 'SelectedIndex' остается' 0'. У меня была мода «' в 'ProductTypeName', которая находится в' Index'' 7'. Это 'SelectedIndex' должно быть' 7', но без изменений –

+0

А. ОК. Вы предварительно загрузили ComboBox с целыми числами 0,1, ... и хотите выбрать соответствующий элемент? Если это так, у вас должно быть целочисленное свойство ProductTypeId в вашем продукте, и вы должны привязать SelectedIndex к ProductTypeId. – kurchavy

+0

Нет Я не предустановил целые числа. Его предварительно загружают с помощью «ProductTypeID» и «ProductTypeName» из «DB». Затем позже я получаю конкретное «ProductTypeName», и я хочу, чтобы «SelectedIndex» переместился на этот элемент вместо того, чтобы оставаться по умолчанию «0-й индекс» –

Смежные вопросы