【发布时间】:2015-05-12 09:09:33
【问题描述】:
我想阻止在 UI 加载时触发 ComboBox_SelectionChanged 事件。只有当用户在组合框中进行一些更改时才会发生这种情况。
为此,我在 .xam.cs 文件中编写了以下内容。
private void myComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
ComboBox cb = (ComboBox)sender;
if (!cb.IsFocused)
{
return;
}
else
ViewModel.OnPropertyChanged("MyProperty");
}
但这甚至不会在用户进行更改时触发事件。 我哪里出错了?
我知道 stackoverflow 中有一个类似的问题。但是其中的解决方案对我不起作用。请帮忙。
【问题讨论】:
-
您是否遵循 MVVM 设计模式?如果是这样,您为什么要处理 SelectionChanged 事件。如果此组合中有一个 Command 属性,我建议将其绑定到您的 ViewModel 中的属性。
-
Command 属性不适用于组合框...对吗?是的,我查过了,它不存在:(
-
使用 SelectedValue 属性,
-
绑定到 ViewModel 中的属性