Недавно я обнаружил, что WPF поддерживает различные единицы измерения в XAML. Помимо стандартных DIP, есть поддержка пикселей, дюймов и сантиметров (насколько я знаю). Это позволяет дизайнеру писать XAML, например, так:
Однако вы не можете привязать эти значения. Представьте, что у нас есть ViewModel со свойством Dimension, которое является строкой, например, "7cm". Это не сработает:
Возникнет исключение FormatException. Аналогично, при создании FrameworkElement
в code-behind происходит следующее:
Canvas1.Children.Add(new Button() { Width = "3cm", Content = "Test"});
Compilation fails because exception is thrown in constructor/wherever you try to create the control.
Интересно:
EDIT:
Вот ссылка из комментария ниже, которая решает этот вопрос:
http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.width.aspx