将鼠标事件路由到基础控件

本文关键字:控件 路由 鼠标 事件 | 更新日期: 2023-09-27 18:30:03

我有一个用户控件,它的网格只有一行一列。在这一列中,我添加了一个组合框,它填充了该列的整个空间。现在我想在左角的组合框上放置一个画布元素。在这里之前一切都很好。

代码:

<Grid>
<ComboBox Style="{StaticResource Flat}" SelectionChanged="ColorSelectionChanged" BorderThickness="0" ItemsSource="{Binding ItemCol, UpdateSourceTrigger}"'>
<Canvas Margin="5,5,0,5" Width="25"  HorizontalAlignment="Left" Background="{Binding SelectedColor, UpdateSourceTrigger=PropertyChanged}"/>
</Grid>

如果我把鼠标移到这个控件上,只有当我不在画布上时,我才能选择组合框。如何将鼠标事件从画布路由到组合框?

将鼠标事件路由到基础控件

如果画布只是为了展示,您可以在canvas 上关闭命中测试IsHitTestVisible="false"

http://msdn.microsoft.com/en-us/library/system.windows.uielement.ishittestvisible.aspx