我有對話框,包含一個組合框組合框觸發
<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