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 でイベントをキャッチできます。コンテンツ コントロールに表示されるコンテンツがない場合、イベントをキャッチできないという主な問題。contentcontrol をビジュアル ツリーの一部にすることはできますか、それとも何らかの方法で何かを入れる必要がありますか (たとえば、空の画像)?
この解決策で問題を解決しました:
<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>
それは私が望んでいたものではありませんが、何もないよりはましです..