WPF 在 Windows 窗体上下文中的应用程序范围样式

本文关键字:应用程序 范围 样式 上下文 Windows 窗体 WPF | 更新日期: 2023-09-27 18:36:36

我们从WinForms迁移到WPF...慢慢=)

不,我们将WPF用户控件与ElementHost一起使用。

是否可以在此上下文中定义应用程序范围的资源?在纯WPF Application.Resources中代表它。但是与WinForms集成时没有WPF应用程序。

WPF 在 Windows 窗体上下文中的应用程序范围样式

即使您

的项目是具有几个单独的 WPF 窗体或控件的 WinForms 项目,也可以使用 WPF 应用程序对象。该对象不会为您预先创建,但是如果您手动创建它,只需通过new App()(甚至没有派生类,new System.Windows.Application()),项目中的所有内容都将看到它。

您可以创建一个通用的资源字典,并将其添加到用户控件的资源中。这样,您只需在一个位置更改样式即可。

词典1.xaml

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
</ResourceDictionary>

并使用合并词典将其添加到用户控件

<UserControl.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="Dictionary1.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</UserControl.Resources>

或者只是像这样将其添加到控件的资源中

<UserControl.Resources>
    <ResourceDictionary Source="Dictionary1.xaml"/>
</UserControl.Resources>