【发布时间】:2014-10-29 14:58:08
【问题描述】:
我有一个使用下面的 ControlTemplate 的按钮。
<ControlTemplate x:Key="ControlTemplate" TargetType="{x:Type Button}">
<Grid>
<Path x:Name="ButtonPath" Fill="{Binding IsSelected, Converter={StaticResource ArrowBackgroundColorConverter}, UpdateSourceTrigger=PropertyChanged}"
Data="{Binding Converter={StaticResource ArrowPathSelector}}" Stretch="UniformToFill" Margin="0 0 -35 0"></Path>
<TextBlock Grid.Column="0" Grid.Row="0" FontFamily="{StaticResource ApplicationFont}" FontSize="{StaticResource Heading3}" HorizontalAlignment="Center" Margin="35 0 0 0" VerticalAlignment="Center" Text="{Binding Title}" Foreground="White"/>
</Grid>
</ControlTemplate>
但是当我在我的应用程序中单击按钮时,它不是概述路径而是原始按钮。
我不知道如何让按钮反映路径本身。非常感谢任何帮助,谢谢!
【问题讨论】:
-
你在设置按钮的
Template="{StaticResource ControlTemplate}"吗? -
是的,我是。问题是当我将鼠标悬停在按钮上或单击它时,轮廓位于矩形按钮上方,我希望它是我正在使用的路径,即箭头。
-
这没有任何意义。如果您要覆盖按钮的
Template,则没有任何东西可以给它一个矩形轮廓——它来自您要替换的原始模板。您是否将其嵌入到 另一个 按钮中?您能否验证正在应用模板,例如,路径是否显示? -
是的,路径出现了。
-
等等,你指的是普通按钮边框的矩形轮廓,还是焦点矩形(表示键盘焦点的虚线矩形)?