【发布时间】:2013-04-03 11:12:34
【问题描述】:
我的问题是我想在 ViewModel 中调用“SelectionChanged”事件。
我有一个 ComboBox(这里称为 ListPicker,它是一个电话应用程序):
<tool:ListPicker Name="txt_LZZ"
ItemsSource="{Binding ZZR}" SelectedItem="{Binding MySelectedItem}" />
ViewModel 中的我的属性如下所示:
private List<string> _zzr;
public List<string> ZZR
{
get
{
_zzr = new List<string>();
_zzr.Add("Jahr");
_zzr.Add("Monat");
_zzr.Add("Woche");
_zzr.Add("Tag");
return _zzr;
}
set
{
_zzr = value;
RaisePropertyChanged(() => ZZR);
}
}
private string _mySelectedItem;
public string MySelectedItem
{
get
{
return _mySelectedItem;
}
set
{
if (value == _mySelectedItem)
return;
_mySelectedItem = value;
RaisePropertyChanged(() => MySelectedItem);
GetValues();
}
}
程序只调用一次get 方法,而_mySelectedItem 的值为'null'。我想要的是,当我在我的 Combobox (ListPicker) 中更改 SelectedItem 时,ViewModel 必须调用 GetValues 方法,该方法位于 MySelectedItem 的设置器中。问题:-> ViewModel 不调用 setter。为什么?
【问题讨论】:
标签: mvvm combobox viewmodel selectionchanged