如果我设置 ContentControl 的宽度和高度,它不会捕获鼠标事件,例如 mouseleftclick 事件。有没有允许我这样做的财产?
<Border Width="19" Height="19" BorderBrush="Gray" BorderThickness="1" MouseDown="OnLayerEditedMouseDown">
<ContentControl Width="19" Height="19">
<Image
Width="16"
Height="16"
Source="../../Resources/Images/LayersViewer/pencil2.png"
Visibility="{Binding IsEdited, Converter={StaticResource BoolToVisibility}}">
</Image>
</ContentControl>
</Border>
如果现在可见,我可以在 Border 和 Image 上捕获事件。如果内容控件没有任何可见内容,则主要问题是它不会捕获任何事件。我可以让内容控件成为可视树的一部分,还是必须以任何方式在其中放入一些东西(例如空图像)?
我已经通过这个解决方案解决了这个问题:
<Grid Margin="0">
<Image
Width="16"
Height="16"
Source="../../Resources/Images/LayersViewer/eye.png"
Visibility="{Binding IsVisible, Converter={StaticResource BoolToVisibility}}"
Panel.ZIndex="1"
>
</Image>
<Image
Width="16"
Height="16"
Source="../../Resources/Images/LayersViewer/empty.png"
Panel.ZIndex="0"
>
</Image>
</Grid>
这不是我想要的,但总比没有好..