0

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

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

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

4

2 回答 2

1

您可以创建一个通用ResourceDictionary并将其添加到您的 UserControls 的资源中。这样,您只需在一个位置更改样式。

Dictionary1.xaml

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

</ResourceDictionary>

并使用MergedDictionarys将其添加到您的 UserControl

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

或者像这样将它添加到控件的资源中

<UserControl.Resources>
    <ResourceDictionary Source="Dictionary1.xaml"/>
</UserControl.Resources>
于 2012-06-09T19:12:45.500 回答
1

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

于 2012-06-09T21:20:50.870 回答