以编程方式设置按钮扁平样式

7

当满足特定条件时,我希望以编程方式为一个按钮赋予扁平化样式。

这个问题展示了如何在XAML中定义了一个样式后,以编程方式为控件设置样式。

这个问题表明已经存在一个扁平化的按钮样式,因此不需要在XAML中创建它。

ToolBar.ButtonStyleKey返回一个ResourceKey,相应的样式并未在我的窗口中定义(而是在ToolBar中)。我该如何在代码中使用它来以编程方式设置样式?

2个回答

15

作为一种替代方案,您可以尝试这个:

XAML

<Button Name="FlatButton" Width="100" Height="30" Content="Test" />

后台代码

private void Button_Click(object sender, RoutedEventArgs e)
{
    FlatButton.Style = (Style)FindResource(ToolBar.ButtonStyleKey);
}

8
这是一个可行的解决方案。按照以下步骤将基于ToolBar.ButtonStyleKey的样式添加到Window.Resources中:
<Window.Resources>
    <Style x:Key="MyStyle" BasedOn="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" TargetType="Button" />
</Window.Resources>

然后,在代码中,按照此问题中的第一个链接来引用它:

button.Style = this.Resources["MyStyle"] as Style;

我更喜欢用纯代码的解决方案(不使用XAML),但这个也同样有效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接