案子
我在我的 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 中以声明方式执行此操作?
- 如果是,如何?
- 如果没有,是否有一个不包含代码隐藏的简洁解决方案?
提前致谢!