【发布时间】:2017-06-20 06:25:07
【问题描述】:
我为我的按钮使用模板。现在我想在运行时更改模板。但这不适用于此模板。 模板如下所示:
<Application.Resources>
<Style TargetType="{x:Type Button}">
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border Name="Border" Background="Transparent">
<ContentPresenter RecognizesAccessKey="True"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsKeyboardFocused" Value="true">
<Setter TargetName="Border" Property="BorderBrush" Value="#ffffff" />
</Trigger>
<Trigger Property="IsDefaulted" Value="true">
<Setter TargetName="Border" Property="BorderBrush" Value="#ffffff" />
</Trigger>
<Trigger Property="IsMouseOver" Value="true">
<Setter TargetName="Border" Property="Background" Value="Transparent" />
</Trigger>
<Trigger Property="IsPressed" Value="true">
<Setter TargetName="Border" Property="Background" Value="Transparent" />
<Setter TargetName="Border" Property="BorderBrush" Value="#ffffff" />
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter TargetName="Border" Property="Background" Value="Transparent" />
<Setter TargetName="Border" Property="BorderBrush" Value="#ffffff" />
<Setter Property="Foreground" Value="Transparent"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Application.Resources>
我在不同的窗口上使用它,因此作为应用程序资源。 如何访问此模板并仅针对某些按钮进行更改? 我考虑过创建不同的模板。但是如何创建一个可以在运行时更改背景等内容的设备?
【问题讨论】:
-
怎么没用?你尝试了什么?
-
为基本样式添加键属性,在按钮样式中使用该键。类似stackoverflow.com/a/19366835/2745294
-
那个基于的真的很有趣。我试试看,谢谢。
-
您是否会在
DataTemplate中使用您的Button? -
否......