最近我发现WPF在XAML中支持不同的度量单位。除了默认的DIP,还支持像素,英寸和厘米(据我所知)。这允许设计者编写如下的XAML:WPF单元和代码隐藏
<Canvas>
<Line X1="0cm" X2="3cm" Y1="1cm" Y2="3cm" Stroke="Black"/>
</Canvas>
但是,您无法绑定这些值。想象一下,我们有一个Dimension属性的ViewModel,它是一个字符串,例如“7cm”。以下将不起作用:
<Button Width="{Binding Dimension}">Test</Button>
FormatException被抛出。同样,在代码中创建隐藏一个FrameworkElement
,像这样的时候:因为异常在构造函数抛出/无论你尝试创建控制
Canvas1.Children.Add(new Button() { Width = "3cm", Content = "Test"});
编译失败。
我在想:
- 是否可以使用自然单位(在我的情况的度量 - 厘米)的代码隐藏?
- 如何?
- 是否有完整的单元列表WPF/XAML支持?
编辑:
这里是从下面的评论的链接,从而解决了这个问题:
http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.width.aspx
这就是我一直在寻找的,谢谢! – 2012-03-01 00:52:27
不客气,很高兴帮助:) – 2012-03-01 00:53:47