Windows Universal App 8.1自定义用户控件

时间:2015-09-01 12:16:25

标签: c# windows windows-runtime windows-phone

过去两周,我遇到了一个无法解决的问题。相信我,我一直在寻找互联网上的答案,而没有找到任何解决方案,更不用说提示了。

我目前正在开发Windows 8.1 Universal App。我开发了一个类似于Android设备已知的模式锁控制(控件A)。该控件由9个组成,它们由不同控件的实例(控件B)表示。控件A和控件B都有自己的依赖属性。其中一些具有具体值(例如 StrokeBrushThickness =“2”),而其他值具有在应用资源(例如画笔)中定义的值。

我面临的问题是一切都适用于Windows Phone项目。但是,当我在Windows项目中引用控件A时,我收到了具有具体值的A的依赖项属性的XAML错误:

  

未知错误:无法找到具有给定密钥的资源。

如果我从控件中删除上述属性,应用程序会编译但在运行时会抛出 Windows.UI.Xaml.Markup.XamlParseException

  

WinRT-Informationen:无法分配属性<物业名称>

此外,我在应用程序中定义的某些资源出现以下XAML错误,例如:

<Color x:Key="ColorBackground">#F4F2F4</Color>
<SolidColorBrush x:Key="AppBackgroundBrush" Color="{ThemeResource ColorBackground}"/>

如果我删除控件A并将点控件(B)直接放入网格中,我可以让整个工作完成。但是,我希望避免这种解决方法,因为您可以进行图像控制.A封装了应用程序中反复需要的许多功能。

我希望我已经说清楚了。如果没有,我将非常乐意提供进一步的信息。

提前谢谢!

1 个答案:

答案 0 :(得分:0)

您可能无法正确注册依赖项属性。 检查传递给DependencyProperty.Register方法的参数。

你可能会从你的属性更改回调中抛出异常,你不应该这样做。

P.S。有时使用Expression Blend编辑这些XAML更容易。您将花一些时间学习,该工具不针对程序员;它适用于设计师,因此用户体验完全不同。但是,如果你要投入一些时间,你很可能不会遇到像“无法找到具有给定密钥的资源”这样的问题。

相关问题