如何在设计/编译时使UserControl依赖?

时间:2012-01-31 13:21:05

标签: c# wpf xaml

我正在创建一个UserControl,它公开了一些依赖项属性,必须填充这些属性才能使控件生效。

当我在XAML中使用控件时,我可以为依赖项属性提供值。但是如果我没有设置所有值,那么直到运行时它才会显现(异常将被抛出)。

UserControl是否有任何方法可以根据需要标记某些依赖项?如果这是一个简单的C#类,我会将其依赖项作为构造函数参数。但我不确定在WPF / XAML世界中采用类似方法的正确途径是什么。

我们正在使用.NET 3.5和VisualStudio 2008。

1 个答案:

答案 0 :(得分:0)

一种可能的解决方案是让控件在其可视区域中呈现错误消息,在设计期间向开发人员提示这些属性并敦促他为其分配值。

此类行为的一个示例是Bing Maps Control,它需要由应用程序员设置其CredentialsProvider属性。只要未设置CredentialsProvider,地图就会在其中心显示一个带有相应消息的大标签。

与Bing Maps Control相比,您可以考虑仅在设计时显示此类消息,并在运行时抛出异常。