我的複選框有問題。 我有一個MainWindow(),從這裏打開我的第二個窗口爲用戶設置一些searchpropertys。 (在他們想要搜索的字段中...如名稱,名字和其他) 用戶確認他的選擇後,窗口關閉,值保存在app.propertys中。 在應用程序的下一次啓動之前,來自會話的值仍然是它們應該是的,所以這部分工作。C#WPF打開一個窗口,但沒有設置複選框
現在的問題: 如果我現在打開窗口所有的複選框nt設置像他們應該?! 我把它們綁定到我的視圖模型是這樣的:
<CheckBox x:Name="cVersichertenstatus" Content=... **IsChecked="{Binding Versichertenstatuschecked}"** .../>
我綁定密碼鎖是這樣的:
private bool versichertenstatusischecked;
public bool Versichertenstatuschecked
{
get
{
return versichertenstatusischecked;
}
set
{
if (Versichertenstatuschecked != value)
{
versichertenstatusischecked = value;
//this.OnPropertyChanged("Versichertenstatuschecked");
}
}
}
後,啓動我設置的所有綁定propertys與應用程序的價值.propertys。 但它沒有改變。該Checkboxvalues總是假:-(
我想它,因爲我不使用OnPropertyChanged,但如果我嘗試我得到這個錯誤:
object reference not set to an instance of the object
我不明白,我有很多的綁定和所有工作細,只有複選框事情不要
有人可以解釋我什麼,我必須做的,解決這個錯誤
編輯:?
Set the Datacontext :
public MainWindow()
{
InitializeComponent();
SetupBindings();
var l = new app_config_load();
l.load();
}
private void SetupBindings()
{
pViewModelList viewModel = new pViewModelList();
plistview.DataContext = viewModel;
}
和負載()類:
public void load()
{
Properties.Settings get = new Properties.Settings();
pViewModelList a = new pViewModelList();
a.Nachnamechecked = get.cnachname_app;
a.Versichertenstatuschecked = get.cversichertenstatus_app;
a.Geburtsdatumchecked = get.cgeburtsdatum_app;
a.Versicherungsnrchecked = get.cversichertennummer_app;
a.Vornamechecked = get.cvorname_app;
get.Save();
}
我一定先以某種方式初始化Propertys?認爲這是自動發生的?!
你用什麼來將數據綁定到視圖?棱鏡? MVVMLight?或者你剛纔實現了OnPropertyChanged? –
你使用了哪個'OnPropertyChanged'的實現?如果您自己實施它,請張貼代碼。 (和:以防萬一你通過從DependencyObject派生你的ViewModel類來使用'DependencyObject.OnPropertyChanged()',這將是錯誤的。) –
嗨,我有一個ViewModelBase提供OnPropertyChange。它從這邊http://www.cocktailsandcode.de/2012/04/mvvm-tutorial-part-4-viewmodel/。 – user3793935