【发布时间】:2012-03-19 06:23:14
【问题描述】:
最近我发现 WPF 在 XAML 中支持不同的度量单位。除了默认的 DIP,还支持像素、英寸和厘米(据我所知)。这允许设计人员编写这样的 XAML:
<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
【问题讨论】:
标签: wpf xaml units-of-measurement density-independent-pixel