6
我是WPF空间的相对初学者,所以我敢肯定这将是许多问题中的第一个!WPF切换按钮与自定义模板不接受点击在正确的区域
我有一系列切换按钮都带有一个自定义模板,用于显示具有透明背景的图像,然后在用户切换按钮时该图像将变为高亮显示。 我想在内容周围添加填充以便突出显示的区域围绕内容扩展。 这是工作,但用户仍然需要点击内部区域来激活按钮,这不是我想要的。
我假设这是因为我使用ContentPresenter
的Margin属性来绑定到按钮的填充,这被归类为内容之外,但不知道解决这个问题的最佳方法。 虽然取消选择按钮但它确实有效。
下面是一些XAML,显示应该能够直接复制并粘贴到XamlPad中的问题。
<Page.Resources>
<Style x:Key="ValidationToggleButton" TargetType="ToggleButton">
<Setter Property="Padding" Value="5" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate >
<Grid Name="MainGrid">
<Viewbox>
<ContentPresenter Margin="{TemplateBinding Padding}"
Content="{TemplateBinding Property=Button.Content}" />
</Viewbox>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="ToggleButton.IsChecked" Value="True">
<Setter TargetName="MainGrid" Property="Background" Value="#88FFFF55" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Page.Resources>
<Grid>
<GroupBox Grid.Column="0" Header="Validation" BorderBrush="#55BBE6" Margin="2" >
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<ToggleButton Grid.Column="0" Style="{StaticResource ValidationToggleButton}">
CLICK
</ToggleButton>
</Grid>
</GroupBox>
</Grid>
任何人都有任何想法我可以改正这一点?
优秀,看起来像这样做的伎俩! 我当然在一分钟内发现WPF远离WinForms,这是肯定的。 – JonC 2010-02-26 09:14:27