【发布时间】:2014-01-29 23:31:08
【问题描述】:
案例
我在我的 WPF 窗口中定义了一系列 GridLenghts 作为资源:
<w:GridLength x:Key="ScrollBarRowHeight">17</w:GridLength>
由于这个滚动条高度是可变的,取决于所使用的操作系统,我想重构这行代码以使用静态参数值SystemParameters.HorizontalScrollBarHeight。
问题
这两行我都试过了:
<w:GridLength x:Key="ScrollBarRowHeight"><DynamicResource Key="{x:Static System.Windows.SystemParameters.CaptionHeightKey}" /></w:GridLength>
<w:GridLength x:Key="ScrollBarRowHeight"><x:Static x:Key="System.Windows.SystemParameters.HorizontalScrollBarHeight" /></w:GridLength>
导致相同的编译时错误:
Cannot add content to object of type 'System.Windows.GridLength'.
问题
- 是否可以在 XAML 中以声明方式执行此操作?
- 如果是,怎么做?
- 如果没有,是否有不包含代码隐藏的简洁解决方案?
提前致谢!
【问题讨论】:
-
为什么不直接使用
SystemParameters.HorizontalScrollBarHeight值而不是尝试复制它? -
@Sheridan,如何直接使用?
-
你想用什么控件属性?
-
我会将它用于控件属性 RowDefinition.Height。问题是,我经常引用资源并且喜欢在 XAML 文件之上定义它。
-
那到底有什么帮助?
标签: c# .net wpf xaml gridlength