【发布时间】:2015-11-26 16:16:03
【问题描述】:
在过去的两周里,我遇到了一个无法解决的问题。相信我,我一直在互联网上寻找答案,但没有找到任何解决方案,更不用说提示了。
我目前正在开发一个 Windows 8.1 通用应用程序。我开发了一种模式锁定控件(控件 A),类似于 android 设备中已知的那个。该控件由 9 个 点 组成,这些点由不同控件(控件 B)的实例表示。控件 A 和控件 B 都有自己的依赖属性。其中一些具有具体值(例如 StrokeBrushThickness="2"),而另一些则具有在应用资源中定义的值(例如画笔)。
我面临的问题是 Windows Phone 项目一切正常。但是,当我在 Windows 项目中引用控件 A 时,我收到以下 XAML 错误,因为 A 的依赖项属性具有具体值:
未知错误:找不到具有给定键的资源。
如果我从控件中删除上述属性,应用程序会编译但在运行时抛出 Windows.UI.Xaml.Markup.XamlParseException:
WinRT-Informationen:未能分配给属性
此外,对于我在应用程序中定义的一些资源,我收到以下 XAML 错误,例如:
<Color x:Key="ColorBackground">#F4F2F4</Color>
<SolidColorBrush x:Key="AppBackgroundBrush" Color="{ThemeResource ColorBackground}"/>
如果我删除控件 A 并将点控件 (B) 直接放入网格中,我可以让整个工作正常进行。但是,我希望避免这种解决方法,因为您可以将图像控件 A 封装在整个应用程序中重复需要的许多功能。
我希望我已经说清楚了。如果没有,我很乐意提供更多信息。
提前谢谢你!
【问题讨论】:
-
你总是使用
ThemeResource吗?如果是这样,您会将您的资源放在ResourceDictionary.ThemeDictionaries中吗? -
我尝试了两种方式 - 使用
ThemeResource以及 StaticResource。好像没什么区别。
标签: c# windows windows-runtime windows-phone