【发布时间】:2011-05-03 17:58:06
【问题描述】:
我正在开发一个具有一些依赖属性的用户控件,即;
public static readonly DependencyProperty TitleWidthProperty = DependencyProperty.Register("TitleWidth", typeof(double), typeof(FormList));
好的,太好了,所以当在 XAML 中使用它时,我可以像这样使用普通的“双”值轻松绑定到所述属性;
<local:FormList TitleWidth="100">
太棒了!正是我想要的,像梦一样工作。但是,我想尝试一些更聪明的东西,然后说; (显然其他一些代码会确定宽度)
<local:FormList TitleWidth="Auto">
但是无论我对依赖属性做什么,我得到的只是设计器中的 FormatException,因为“Auto”是一个字符串而不是双精度。我尝试了各种 PropertyMetadata、ValueCorercion 和 ValidateValue 回调的组合,但均无济于事。我知道有一种方法可以做到这一点,因为它适用于某些内置控件,例如;
<!-- 'Red is a color and not a 'Brush' so there is some conversion happening here.-->
<Border Background="Red"/>
有什么想法或信息可以从哪里获得更多信息?
【问题讨论】:
标签: c# wpf dependency-properties default-value