我試圖做的是將ItemSource
綁定到我的模型中的表中的所有值,並將SelectedValue
綁定到第一個鏈接到的表的外鍵。以下是我所嘗試過的。將組合框綁定到模型/視圖模型
注:client_typeID被鏈接到被稱爲 'ClientType' 屬性。 client_type1是我想要顯示的視圖。
這裏是我獲得客戶端類型的列表DataAccessService方法:
public List<string> GetClientTypes()
{
List<string> ClientType = new List<string>();
foreach (var item in context1.Client_Type)
{
ClientType.Add(item.client_type1);
}
return ClientType;
}
這裏是我的ViewModel:
public List<string> Client_type_list
{
get { return ServerPxy.GetClientTypes(); }
}
private Entity record;
public Entity Record
{
get { return record; }
set
{
record = value;
RaisePropertyChanged("Record");
}
}
注:ServerPxy
是我DataAccessService的情況下, Record
是entitiy表的財產。
這裏是我的組合框XAML:
<ComboBox Grid.Column="3" Grid.Row="0" MaxHeight="26" Margin="2" ItemsSource="{Binding Client_type_list}" Text="{Binding Record.Client_Type.client_type1}" />
所有這一切都爲我提供了具有正確的ItemSource和選擇正確的值ComboBox
。唯一的問題是,當我更改SelectedItem
時,Update方法運行時,它更新Client_Type表的描述,而不是實體表的外鍵。
此外,我試圖按照this的例子,但它並沒有幫助我。
任何幫助,我將不勝感激。
請同時看看這個迴應:http://stackoverflow.com/a/4902454/4424024它解釋了在ItemControls上使用綁定(如ComboBox)的SelectedItem,SelectedValue和SelectedValuePath之間的差異。 – Martin