我正在尝试在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'.
任何人对我做错了什么有任何想法?提前谢谢。
答案 0 :(得分:2)
请注意,Button.Width
不属于GridLength
类型。在Grid.GridLength
中,您可以将值指定为固定值,自动值或星号。它仅用于Grid
中的行,列的大小。
Button.Width
的类型为double
。也就是说,如果你想使用资源设置它,你需要一个像
<sys:Double x:Key="Height">200</sys:Double>