5

我正在将 WPF 应用程序从 VS 2010 移动到 VS 2012。

我有一个主可执行文件,其中包含 App.xaml 和一个用于所有 WPF 内容的单独类库。在 VS2012 (SP3) 中,XAML 设计器不显示 App.xaml 中定义的 MergedResourceDictionary 中的任何样式,VS 2010 确实...

出于测试目的,我将 App.xaml 移至我的类库。之后,VS 2012 设计器正确显示了所有内容。

由于类库不能包含 App.xaml,这不是解决方案。

有任何想法吗?

我的 App.xaml 如下所示:

<Application x:Class="MyApplication.App"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Startup="AppStartup">
<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="pack://application:,,,/OtherAssemblyName;component/Resources/Resource1.xaml" />
            <ResourceDictionary Source="pack://application:,,,/OtherAssemblyName;component/Resources/Resource2.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

4

1 回答 1

0

知道这是一个老问题,但为将来可能面临类似问题的任何人回答。

最安全的方法是创建一个新的 ResourceDictionary 文件,并在其中添加 MergedResourceDictionaries。

然后在您的用户控件/页面/窗口中引用该 ResourceDictionary - 所有这些,因为

<UserControl.Resources>
    <ResourceDictionary Source="GlobalResources.xaml" />
<UserControl.Resources>
于 2015-10-09T04:40:43.973 回答