我只是想知道我是否可以在WPF中创建几个按钮模板,然后通过“声明”按钮模板名(或者您建议的其他方法)将模板分配给一个特定的按钮。
我要创建的按钮模板是:
带有黑色背景的
。
我将生成的按钮的样式取决于我将“调用”哪个按钮模板,其中:
如果选择= 1,则使用模板1。(这将在C#中完成)
发布于 2010-08-27 02:58:08
您可以制作任意数量的按钮(或任何其他控件)模板。您可以使用样式上的x:key="“属性来”命名“您的模板,并在”去疲劳“按钮上设置样式.
<Style x:Name="MyButton1">
....
</Style>
然后在你的按钮上..。
使用动态资源..。
<Button Style="{DynamicResource MyButton1}"/>
或者您可以使用StaticResource代替
<Button Style="{StaticResource MyButton1}"/>
发布于 2010-08-27 03:09:36
实现这一目标的一种方法是使用触发器。根据其绑定的属性的值,为按钮提供选择其模板的样式。
我还没有把它放在XAML编辑器中,所以可能会出现语法错误,但这是要点:
<Style TargetType="Button">
<Style.Setters>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<!-- default template -->
</ControlTemplate>
</Setter.Value>
</Setter>
</Style.Setters>
<Style.Triggers>
<DataTrigger Binding="{Binding SomeValue}" Value="1">
<DataTrigger.Setters>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<!-- template when SomeValue == 1 -->
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger.Setters>
</DataTrigger>
<DataTrigger Binding="{Binding SomeValue}" Value="2">
<DataTrigger.Setters>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<!-- template when SomeValue == 2 -->
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger.Setters>
</DataTrigger>
</Style.Triggers>
</Style>
https://stackoverflow.com/questions/3581021
复制相似问题