Har*_*y13 5 c# wpf xaml xaml-designer visual-studio-2012
我正在将VSF中的WPF应用程序移动到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>
Run Code Online (Sandbox Code Playgroud)
知道这是一个老问题,但为将来可能面临类似问题的任何人回答这个问题。
完成此操作的最安全方法是创建一个新的 ResourceDictionary 文件,并在其中添加 MergedResourceDictionaries。
然后在您的用户控件/页面/窗口中引用该 ResourceDictionary - 所有这些,因为
<UserControl.Resources>
<ResourceDictionary Source="GlobalResources.xaml" />
<UserControl.Resources>
Run Code Online (Sandbox Code Playgroud)