WPF组合框鼠标选择事件未被激发

本文关键字:事件 选择 组合 鼠标 WPF | 更新日期: 2023-09-27 18:26:31

,它位于网格行中。

问题是,我没有在任何组合框上选择鼠标,他们没有被解雇。但从键盘上看,keydown事件被炒了,效果非常好。

所以,你知道为什么下面的XAML组合框没有触发mousedown或selectionItem事件吗。

<ComboBox Name="StatusCombo"  VerticalAlignment="Center"  MouseDown="StatusCombo_MouseDown"
                      Margin="10,0,0,0" Width="Auto" MinWidth="75" 
                      FontFamily="Arial" FontSize ="10px" FontWeight ="Normal"
                      SelectedIndex="{Binding IndexForSelectedStatus}" 
                      SelectedItem="{Binding SelectedItemStatus, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
                      ItemsSource="{Binding Path=StatusComboCollection,UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" 
                      Style="{StaticResource UIRefreshButtonComboBoxStyle}"
                      AutomationProperties.Name="{Binding ElementName=labelStatus,Path=Content}">
                </ComboBox>

WPF组合框鼠标选择事件未被激发

如果您正在关注MVVM,有一种简单的方法可以做到这一点:

<ComboBox Name="StatusCombo" ItemsSource="{Binding Path=StatusComboCollection,UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" 
SelectedItem="{Binding MySelectedItem,UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}>

在ViewModel 中

private string _mySelectedItem;
public string MySelectedItem
{
  get { return _mySelectedItem; }
  set {
       //Do the operations here no need for an extra method
       _mySelectedItem = value; 
      }
}

注意:由于您已经实现了INotifyPropertyChanged接口,只要所选项目发生更改(独立于触发源),属性更改事件就会触发