2012-07-30 68 views
0

我想设计一个新的切换按钮。我用这个代码的设计:ToggleButton样式点击行为

<UserControl.Resources> 
    <Style TargetType="ToggleButton"> 
     <Setter Property="Width" Value="20" /> 
     <Setter Property="Height" Value="20" /> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="ToggleButton"> 
        <Border BorderBrush="Black" BorderThickness="1 1 1 1" CornerRadius="8 8 8 8"> 
         <Path Name="Arrow" Fill="Black" HorizontalAlignment="Center" VerticalAlignment="Center" /> 
        </Border> 
        <ControlTemplate.Triggers> 
         <Trigger Property="IsChecked" Value="true"> 
          <Setter TargetName="Arrow" Property="Data" Value="M 0 0 L 4 4 L 8 0 Z" /> 
         </Trigger> 
         <Trigger Property="IsChecked" Value="false"> 
          <Setter TargetName="Arrow" Property="Data" Value="M 0 4 L 4 0 L 8 4 Z" /> 
         </Trigger> 
        </ControlTemplate.Triggers> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 
</UserControl.Resources> 

所以看起来在此刻: enter image description here

这是非常好的。

我的问题是,只有当我点击三角形时,按钮才会切换。但它应该在圆圈中的任何位置切换。

我该怎么做?

回答

1

尝试给你的Border a Background否则它将不会收到任何Mouse.Clicks。

<Border Background="Transparent"