【问题标题】:How to Disable Material Design Style in WPF如何在 WPF 中禁用 Material Design 风格
【发布时间】:2021-06-27 17:28:03
【问题描述】:

我正在使用Material Design in XAML 来设置我的 WPF UI 控件的样式。我在 App.xaml 文件中定义了默认主题。

    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                    <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Light.xaml" />
                    <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml" />
                    <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/MaterialDesignColor.DeepPurple.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Accent/MaterialDesignColor.Lime.xaml" />
            </ResourceDictionary.MergedDictionaries>            
        </ResourceDictionary>
    </Application.Resources>

但是,我希望我的一些控件具有默认的 WPF 外观,但 XAML 中的 Material Design 似乎覆盖了 WPF 默认控件样式。

示例:下面的按钮会自动从 Material 设计中获取其样式,而无需指定它。

<Button Content="Hello" Width="100"/>

如何在某些控件中禁用 Material Design?

【问题讨论】:

    标签: wpf xaml wpf-controls material-design-in-xaml


    【解决方案1】:

    Style 属性设置为x:Null 使其回退到在框架程序集中实现的默认Style

    <Button Content="Hello" Width="100" Style="{x:Null}" />
    

    另一种选择是从您的App.xaml 中删除&lt;ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" /&gt;,并明确设置您希望具有Material Design 外观的所有控件的Style 属性。

    【讨论】:

      【解决方案2】:

      您可以像这样在 ResourceDict 中创建一个空样式:

      <Window.Resources>
              <ResourceDictionary>
                  <Style x:Key="styleless" />
              </ResourceDictionary>
      </Window.Resources>
      

      并将其分配给您的按钮,如下所示:

      <Button Style="{StaticResource styleless}" />
      

      【讨论】:

      • 是的,这似乎有效。我将按钮样式设置为 null,如下所示:&lt;Button Style="{x:Null}"/&gt;,然后我认为可能有更好的方法来删除材料设计的默认样式。
      猜你喜欢
      • 1970-01-01
      • 2019-10-19
      • 1970-01-01
      • 2021-01-31
      • 1970-01-01
      • 2017-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多