Wpf 为什么即使箭头仍在元素顶部,鼠标输入事件仍会触发鼠标左键?
我有MouseEnter和MouseLeave事件的组合框。当鼠标进入combobox时,它应该并且确实触发mouseEnter事件。将其不透明度从40%设置为100%。MouseLeave事件则相反。这里的问题是,当鼠标进入时,它触发鼠标进入事件,然后再次触发鼠标离开事件和鼠标进入事件。组合框将被设置为100%的不透明度。我怎样才能纠正这个错误Wpf 为什么即使箭头仍在元素顶部,鼠标输入事件仍会触发鼠标左键?,wpf,combobox,mouseevent,Wpf,Combobox,Mouseevent,我有MouseEnter和MouseLeave事件的组合框。当鼠标进入combobox时,它应该并且确实触发mouseEnter事件。将其不透明度从40%设置为100%。MouseLeave事件则相反。这里的问题是,当鼠标进入时,它触发鼠标进入事件,然后再次触发鼠标离开事件和鼠标进入事件。组合框将被设置为100%的不透明度。我怎样才能纠正这个错误 <ComboBox Name="PageNumberComboBox" Panel.ZIndex="10" Width="70" Grid.Ro
<ComboBox Name="PageNumberComboBox" Panel.ZIndex="10" Width="70" Grid.Row="1" Grid.Column="0" Height="40" VerticalAlignment="Top" HorizontalAlignment="Right" Margin="0,10,10,0" IsEditable="True" Opacity="0.4" MouseEnter="PageNumberComboBox_MouseEnter" MouseLeave="PageNumberComboBox_MouseLeave"></ComboBox>
哇,真管用,非常感谢!。虽然Firinge事件将是更好的选择。
<Grid Panel.ZIndex="0" Grid.Row="1" Grid.ColumnSpan="2" >
private void PageNumberComboBox_MouseEnter(object sender, MouseEventArgs e)
{
PageNumberComboBox.Opacity = 100.0;
MessageBox.Show("mouse enter");
}
private void PageNumberComboBox_MouseLeave(object sender, MouseEventArgs e)
{
PageNumberComboBox.Opacity = 40.0;
MessageBox.Show("mouse leave");
}
<ComboBox>
<ComboBox.Style>
<Style TargetType="ComboBox">
<Setter Property="Opacity" Value="0.4"/>
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsMouseOver}" Value="True">
<Setter Property="Opacity" Value="1"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ComboBox.Style>
</ComboBox>