1

我喜欢将 Windows WPF 应用程序更改为 .dll 库。在 Windows App.xaml 目录中,我定义了“Application.Resources”。

<Application x:Class="WpfApplication13.App"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         StartupUri="MainWindow.xaml">
<Application.Resources>
    <Style TargetType="Control" x:Key="EmptyFocusVisualStyle">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate>

                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</Application.Resources>

但是因为在 dll 库中没有 App.xaml 文件,现在该把这些代码放在哪里呢?添加到我的“dll 项目”新的“资源字典”文件中?但这是否等同于“Application.Resources”?

请寻求帮助或任何示例。如果您有任何问题,请询问。

4

1 回答 1

3

在 dll 项目中,添加资源字典。

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Style TargetType="Control" x:Key="EmptyFocusVisualStyle">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate>

                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>

在使用 dll 的应用程序的 app.xaml 中,添加资源字典。在下面的示例中,资源字典位于 MyDll 项目中,路径为 MyDllSubFolder/MyResourceDictionary.xaml。

<Application x:Class="WpfApplication13.App"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 StartupUri="MainWindow.xaml">
        <Application.Resources>
                <ResourceDictionary>
                    <ResourceDictionary.MergedDictionaries>
                        <ResourceDictionary Source="/MyDll;component/MyDllSubFolder/MyResourceDictionary.xaml" />
                    </ResourceDictionary.MergedDictionaries>
                    <Style TargetType="Control" x:Key="AStyleThatIsInTheAppAndNotTheDll">
                        <Setter Property="Template">
                            <Setter.Value>
                                <ControlTemplate>
                                </ControlTemplate>
                            </Setter.Value>
                        </Setter>
                    </Style>
                </ResourceDictionary>
        </Application.Resources>
</Application>
于 2015-09-10T15:13:11.333 回答