我试图做的是将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