我有对话框,包含一个组合框组合框触发
<ComboBox Margin="0,1,34,36" Grid.Row="1" Grid.Column="1" ItemsSource ="{Binding Path=CompanyView}" DisplayMemberPath="CompanyName" IsSynchronizedWithCurrentItem="True"
SelectedItem="{Binding Path=SelectedCompany}"
的的ItemSource绑定到collectionviewsource和所选择的项目被绑定到我的viewmodel中的属性是不共享
private Company selectedCompany;
public Company SelectedCompany
{
get{ return this.selectedCompany;}
set
{
this.selectedCompany = value;
FilterString = this.selectedCompany.Id;
}
}
我可以根据需要多次打开和关闭对话框,而不会出现任何问题。我的问题是, 如果我选择公司组合中的一个项目,然后关闭对话框,当我再次打开对话框窗体试图设置SelectedCompany,在这种情况下,我为空。我可以检查null,但我宁愿明白为什么会发生这种情况。
感谢您的回答。我需要collectionviewsource进行过滤和排序,但对我来说似乎很奇怪,因为我每次显示对话框时都会创建一个新的视图模型。在我看来,当我关闭对话框时必须保留一些东西。 – klashagelqvist 2012-01-27 14:35:22
如果我使用VS并在构造函数中断开并使objectid可以看到其新的viewmodel。 – klashagelqvist 2012-01-27 14:37:25
@klashagelqvist你能发布更多的代码吗?尤其是创建ViewModel的位数,绑定的对话框以及初始SelectedCompany的设置? – Rachel 2012-01-27 14:47:20