我有一个特殊的ControlTemplate我的一些Buttons。

<ControlTemplate TargetType="{x:Type Button}">
    <Path Name="ThePath" Fill="White" Stretch="UniformToFill"
          Width="12" Height="12" Stroke="White"
          StrokeThickness="4"
          Data="M1.5,1.5 L10.5,10.5 M1.5,10.5 L10.5,1.5"/>
    <ControlTemplate.Triggers>
        <Trigger Property="IsFocused" Value="True">
            <Setter Property="Fill" Value="#afa" TargetName="ThePath"/>
        </Trigger>
    </ControlTemplate.Triggers>
</ControlTemplate>

这很好,但是因为我使用的是Path(在这种情况下,它只是一个胖X的形状),确切地说,路径是可点击的,而不是x的拐角之间的小空间。是否有任何自动的东西我可以用来使X的整个“块”可点击?
我考虑过把路径包装成一个矩形对象,但我只想确保我没有遗漏一些琐碎的东西。

最佳答案

Aviad P.是正确的。我就是这么做的:

<Border Background="Transparent">
  <Path ... />
</Border>

这是因为当“点击测试”来确定鼠标点击应该在哪里路由时,“透明”的刷子就好像它是一个普通的颜色。

08-05 13:23