我有一个包含以下XAML的ComboBox
<ComboBox Name="CompanyComboBox"
ItemsSource="{Binding Path=CompanyList, Mode=OneWay}"
SelectedItem="{Binding Path=CurrentCompany, Mode=TwoWay}"
DisplayMemberPath="Name" />
问题:
“公司”上的所选选项会保留,但永远不会在加载时显示。什么遗失或出错,或者我忘了做什么?
我已经尝试了以下建议,到目前为止还没有解决问题:
答案 0 :(得分:3)
如果对象的数据相同,则需要覆盖Company.Equals()
方法以返回true
。
默认情况下,如果被比较的两个公司对象共享内存中的相同位置,它只返回true
,我猜你的CurrentCompany
对象没有指向{{1}中的对象因此CompanyList
设置为SelectedItem
答案 1 :(得分:1)
检查分配给CurrentCompany的实例是否是CompanyList中包含的实际实例,而不是它的副本。
答案 2 :(得分:0)
你可以试试这个: 在ViewModel中填充公司列表后,将当前公司设置为第一家公司,或将虚拟项目设置为或根据您的上下文。
答案 3 :(得分:0)
我们可以看一下视图模型吗?在此信息不存在之前,可以进行以下暂停。