c# - WPF - 仅从用户点击触发 comboBox SelectedIndexChanged

标签 c# wpf combobox

我想阻止在 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 中有一个类似的问题。但是其中的解决方案对我不起作用。请帮忙。

最佳答案

找到了解决方案。 我们只需要将 Selection_Changed 事件与 PreviewMouseDown 事件结合起来。

could the SelectionChanged event in WPF be handled only for user interaction?

关于c# - WPF - 仅从用户点击触发 comboBox SelectedIndexChanged,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30186402/

相关文章:

c# - 将表达式转换为表达式<Func<T, bool>>

c# - 如何在 XmlDocument 中插入 DOCTYPE 元素

c# - DLL 不能在 C# 中运行

c# - 按值选择组合框项目 C#

asp.net - Ajax 工具包组合框中的列表项出现在错误的位置

javascript - ExtJS 4 无法在网格内的组合中呈现值(单元格编辑器插件)

c# - Visual Studio 2015 企业版和混合版?

c# - wpf c# backgroundworker 等到完成

c# - WPF 相当于 Paint 事件中的 Windows 窗体 Region.Xor 吗?

c# - 设置 DataGrid 行的背景颜色