Я работаю над пользовательским элементом управления, который имеет некоторые свойства зависимостей, а именно;
public static readonly DependencyProperty TitleWidthProperty = DependencyProperty.Register("TitleWidth", typeof(double), typeof(FormList));
ОК, отлично, поэтому при использовании его в XAML я могу легко привязать к указанному свойству обычное значение типа double, например:
<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"/>
Любые идеи или информация о том, где можно получить дополнительную информацию?