У меня есть класс Product
с некоторыми properties
, которые задаются WCF
async
звонок в базу данных. У меня есть два 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"/>
я сделал. Но 'SelectedIndex' остается' 0'. У меня была мода «' в 'ProductTypeName', которая находится в' Index'' 7'. Это 'SelectedIndex' должно быть' 7', но без изменений –
А. ОК. Вы предварительно загрузили ComboBox с целыми числами 0,1, ... и хотите выбрать соответствующий элемент? Если это так, у вас должно быть целочисленное свойство ProductTypeId в вашем продукте, и вы должны привязать SelectedIndex к ProductTypeId. – kurchavy
Нет Я не предустановил целые числа. Его предварительно загружают с помощью «ProductTypeID» и «ProductTypeName» из «DB». Затем позже я получаю конкретное «ProductTypeName», и я хочу, чтобы «SelectedIndex» переместился на этот элемент вместо того, чтобы оставаться по умолчанию «0-й индекс» –