您好,我的团队和我最近开始开发win10 uwp应用程序。应用程序将有很多视图和组件,因此需要大量使用样式,因此我们需要通过文件/文件夹结构来组织样式。我们使用以下结构来组织样式(不幸的是,我还无法嵌入图像,请参见链接):
无论如何,我的资源。xaml将所有其他字典合并如下:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Resources/Colors.xaml" />
<ResourceDictionary Source="/Resources/Icons.xaml" />
<ResourceDictionary Source="/Resources/Fonts.xaml" />
<ResourceDictionary Source="/Resources/Converters.xaml" />
<ResourceDictionary Source="/Resources/Buttons.xaml" />
<ResourceDictionary Source="/Resources/RadioButton.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
在我的应用程序中。xaml I引用此词典:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resources/Resources.xaml" />
</ResourceDictionary.MergedDictionaries>
<vm:ViewModelLocator x:Key="Locator" d:IsDataSource="True" />
</ResourceDictionary>
</Application.Resources>
现在我设法在我的单选按钮中找到了问题的根源。xaml I引用以颜色定义的笔刷。使用静态资源查找的xaml:
<Setter Property="Foreground" Value="{StaticResource TopMenuTextBrush}" />
如果我删除这一行,一切都会开始,但有以下例外:
-
异常{Windows.UI.Xaml.Markup.XamlParseException:找不到与此错误代码关联的文本。
未能分配给属性
'窗口。用户界面。Xaml。资源字典。“源”,因为类型
'窗口。地基无法将字符串“”分配给类型
'窗口。地基Uri'。[行:28位置:37]}系统。例外
{Windows.UI.Xaml.Markup.XamlParseException}
有趣的是,当我用这行注释和取消注释启动应用程序时,visual studio将识别画笔并正确应用它,它只在应用程序启动时中断。
我们以前在开发WPF时使用了相同的方法,所以我认为这可能与应用程序部署有关。
非常感谢您的帮助。