已解决:我的组合框的前色设置为白色,因此我没有看到它们。
我知道这已被问到很多,我一直在Google上搜索但是没有找到解决我问题的方法。似乎没什么用。
我想将数据绑定到我的组合框(来自数据库),但它总是空白的。但是当我将相同的数据绑定到列表时,数据会出现..
XAML
<ComboBox x:Name="cboCPType" Style="{StaticResource comboboxenright}" ItemsSource="{Binding CPTypeList}" DisplayMemberPath="Name" SelectedValue="SelectedPerson.JobRole.ID"/>
视图模型
private ObservableCollection<ContactPersonType> _CPTypeList;
public ObservableCollection<ContactPersonType> CPTypeList
{
get
{
return _CPTypeList;
}
set
{
_CPTypeList = value;
OnPropertyChanged("CPTypeList");
}
}
模型
private String _Name;
public String Name
{
get
{
return _Name;
}
set
{
_Name = value;
}
}
public static ObservableCollection<ContactPersonType> GetTypes()
{
ObservableCollection<ContactPersonType> lijst = new ObservableCollection<ContactPersonType>();
String sql = "SELECT * FROM ContactpersoonType";
DbDataReader reader = Database.GetData(sql);
while (reader.Read())
{
ContactPersonType cType = new ContactPersonType();
cType.Id = reader["ID"].ToString();
cType.Name = reader["Naam"].ToString();
lijst.Add(cType);
}
return lijst;
}
答案 0 :(得分:0)
好吧,您必须拥有一个名为Name
的属性的类,但是您不会显示您的代码或实际初始化CPTypeList
的内容/位置/方式。
看看我写的这篇文章:
Understanding SelectedValue, SelectedValuePath, SelectedItem & DisplayMemberPath + Demo。
希望它能为你清楚一些事情:)
另外,请查看this answer的结尾,以确保设置了datacontext。