WPF: сделать весь «блок» пути кликабельным - PullRequest
12 голосов
/ 30 января 2010

У меня есть специальный ControlTemplate для некоторых из моих Button с.

<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 кликабельным?

Я подумал об обтекании пути прямоугольным объектом, но я просто хотел бы убедиться, что я не пропустил что-то тривиальное.

1 Ответ

19 голосов
/ 31 января 2010

Авиад П. правильно. Вот что я делаю:

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

Это работает, потому что при "тестировании нажатия" для определения того, куда должен быть направлен щелчок мыши, кисть "Прозрачный" считается, как если бы она была обычного цвета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...