【问题标题】:How to apply styles to all windows in WPF app?如何将样式应用于 WPF 应用程序中的所有窗口?
【发布时间】:2010-05-27 03:30:22
【问题描述】:

我有以下 App.xaml 文件:

<Application x:Class="MiniDeviceConfig.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MiniDeviceConfig.xaml">
<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="Button.xaml"/>
            <ResourceDictionary Source="CheckBox.xaml"/>
            <ResourceDictionary Source="ComboBox.xaml"/>
            <ResourceDictionary Source="Common.xaml"/>
            <ResourceDictionary Source="GroupBox.xaml"/>
            <ResourceDictionary Source="Label.xaml"/>
            <ResourceDictionary Source="LinkButton.xaml"/>
            <ResourceDictionary Source="ListBox.xaml"/>
            <ResourceDictionary Source="ListView.xaml"/>
            <ResourceDictionary Source="RadioButton.xaml"/>
            <ResourceDictionary Source="Tooltip.xaml"/>
            <ResourceDictionary Source="Window.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

在我的应用程序中,我的主窗口是 MiniDeviceConfig.xaml(如上所示)。在我的 Button.xaml 文件中,我清楚地将按钮高度设置为一些淫秽的数字。而且,这个大小反映在我的主窗口的按钮上。但是,主窗口上的某些操作会触发一个具有更多按钮的模式窗口。我期待同样高的按钮,但没有这样的运气。如何让样式传播到应用程序中的所有窗口?

【问题讨论】:

  • 它是什么样的模态窗口?是您使用 MessageBox.Show 弹出的,还是您自己设计的?
  • 也许您是在该模式窗口中本地设置按钮高度。
  • 在设计视图中(在 Visual Studio 中)是否也是错误的?你能告诉我们你创建和打开模式窗口的代码吗?正如约翰所说,检查它没有在本地设置高度或指定其他样式。

标签: c# wpf styles


【解决方案1】:

您可以从http://wpfthemes.codeplex.com 尝试非常有用的 ThemeManager 类。在我们的项目中,我们遇到了类似的问题,并通过使用它来解决。

【讨论】:

    【解决方案2】:

    想通了。包含的其他资源存在冲突。

    【讨论】:

      猜你喜欢
      • 2017-10-11
      • 1970-01-01
      • 2019-12-13
      • 2017-08-28
      • 2010-12-25
      • 2015-02-26
      • 2013-01-18
      • 2011-01-25
      • 2018-07-17
      相关资源
      最近更新 更多