Недавно я обнаружил, что WPF поддерживает различные единицы измерения в XAML. Помимо DIP-модулей по умолчанию, есть также поддержка пикселей, дюймов и сантиметров (насколько я знаю). Это позволяет дизайнеру написать XAML, например:WPF Units и Code-Behind
<Canvas>
<Line X1="0cm" X2="3cm" Y1="1cm" Y2="3cm" Stroke="Black"/>
</Canvas>
Однако вы не можете привязать эти значения. Представьте, что у нас есть свойство ViewModel с свойством Dimension, которое является строкой, например «7 см». Следующие действия не будут работать:
<Button Width="{Binding Dimension}">Test</Button>
Ошибка форматаException. Кроме того, при создании в код-позади FrameworkElement
, как это:
Canvas1.Children.Add(new Button() { Width = "3cm", Content = "Test"});
компиляция терпит неудачу, потому что исключение в конструкторе/везде, где вы пытаетесь создать элемент управления.
Интересно:
- Можно ли использовать натуральные единицы (в моем случае метрики - сантиметров) в код-позади?
- Как?
- Полный список единиц поддержки WPF/XAML?
EDIT:
Вот ссылка из комментария ниже, который решает этот вопрос:
http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.width.aspx
Это то, что я искал, спасибо! –
Добро пожаловать, рад помочь :) –