首页 > 解决方案 > 使用 MaterialDesignTheme WPF 时使用系统默认按钮的正确解决方案?

问题描述

我在使用MaterialDesign WPF时尝试使用System默认按钮,但我有点担心。

我想在同一个窗口中同时使用两种类型的按钮。

我使用了Styleand ,StaticResource但我不确定这是一个正确的解决方案。

第 1 步:创建样式:

<Window.Resources>
    <Style x:Key="MyButtonStyle" TargetType="Button">
    </Style>
</Window.Resources>

第 2 步:使用:

<Button Style="{StaticResource MyButtonStyle}" 
        Name="btnChange" 
        Content="My Button Style" 
        Height="35" 
        VerticalAlignment="Bottom" 
        HorizontalAlignment="Right" 
        Margin="10"></Button>

MaterialDesign 样式将不会应用于 this Button

这是一个正确的解决方案吗?

标签: c#wpfxaml

解决方案


这是正确的,但是如果您想更改您的所有按钮,View或者Software您应该在您的视图Resource或中执行此操作App.xaml

<Style TargetType="{x:Type Button}">
     <!-- ... -->
</Style>

你不需要使用StaticResource.

但是如果你想要一些不同风格的按钮,你应该这样做:

<Style x:Key="ButtonStyle1" TargetType="{x:Type Button}">
     <!-- ... -->
</Style>

你应该使用StaticResource.

如果您的按钮样式相同,但它们有一点不同,您可以创建一个基本按钮样式,如下所示:

<Style x:Key="ButtonBaseStyle" TargetType="{x:Type Button}">
     <!-- ... -->
</Style>

<Style x:Key="ButtonStyle1" TargetType="{x:Type Button}" BasedOn="{StaticResource ButtonBaseStyle}">
     <!-- ... -->
</Style>

推荐阅读