XAML中的WPF GridLength

时间:2012-12-03 12:20:10

标签: wpf xaml resourcedictionary gridlength

我正在尝试在Common.xaml中定义一个公共Width资源,该资源将由不同的控件共享,如下所示:

<GridLength x:Key="CommonWidth">20</GridLength>

然后我在ButtonStyle.xaml

中定义的Button样式中使用它
<Style x:Key="ButtonStyle" TargetType="{x:Type Button}">
    <Setter Property="Width" Value="{DynamicResource CommonWidth}"/>
    ....
</Style>

Common.xaml包含在App.xaml的ResourceDictionary定义中的ButtonStyle.xaml之前。当我运行应用程序(在.Net3.5 SP1上)时,我得到以下异常:

'20' is not a valid value for property 'Width'.

任何人对我做错了什么有任何想法?提前谢谢。

1 个答案:

答案 0 :(得分:2)

请注意,Button.Width不属于GridLength类型。在Grid.GridLength中,您可以将值指定为固定值,自动值或星号。它仅用于Grid中的行,列的大小。

Button.Width的类型为double。也就是说,如果你想使用资源设置它,你需要一个像

这样的资源
<sys:Double x:Key="Height">200</sys:Double>