我可以用“像素”单位指定维度作为资源(WPF)吗?

时间:2009-04-14 11:49:54

标签: wpf resources

我一直在尝试以像素为单位指定维度,因此我可以在UI中的多个位置使用它。 e.g。

...
<ResourceDictionary 
  xmlns:System="clr-namespace:System;assembly=mscorlib">
  <System:Double x:Key="a-width">140px</System:Double>
</ResourceDictionary 
...
<TextBlock 
  Width="{StaticResource a-width}" 
  Text="this TextBlock is a-width wide"/>
...

然而,这不起作用。尽管Width的类型为'double',但您不能使用'px'后缀指定double的值,因为LengthConverter支持此格式,它是FrameworkElement.Width属性的TypeConverter。

有没有办法以'Npx'格式指定宽度作为资源?

1 个答案:

答案 0 :(得分:2)

px(DIPs)是默认值,因此您只需使用'px'后缀指定double值:

<ResourceDictionary 
  xmlns:System="clr-namespace:System;assembly=mscorlib">
  <System:Double x:Key="a-width">140</System:Double>
</ResourceDictionary 
...
<TextBlock 
  Width="{StaticResource a-width}" 
  Text="this TextBlock is a-width wide"/>