我试图覆盖WPF应用程序的垂直滚动条的宽度。将以下代码添加到App引用的资源字典中。xaml works a treat:
<sys:Double x:Key="{x:Static SystemParameters.VerticalScrollBarWidthKey}">50</sys:Double>
但是,我需要从应用程序中的其他地方访问代码隐藏值,所以我想将其设置为代码隐藏常量。
public static class MyConstants
{
public static double ScrollBarWidth = 50;
但是如何在xaml中将这个值设置为double呢?我尝试了所有这些方法,但都没有成功:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:constants="clr-namespace:MyProject">
<sys:Double x:Key="{x:Static SystemParameters.VerticalScrollBarWidthKey}" Binding="{x:Static constants:MyConstants.ScrollBarWidth}" />
<sys:Double x:Key="{x:Static SystemParameters.VerticalScrollBarWidthKey}" Source="{x:Static constants:MyConstants.ScrollBarWidth}" />
<sys:Double x:Key="{x:Static SystemParameters.VerticalScrollBarWidthKey}" Value="{x:Static constants:MyConstants.ScrollBarWidth}" />
3条答案
按热度按时间ykejflvf1#
这似乎对我有用
x:Static Markup Extension
ztigrdn82#
您可以将该条目添加到资源中,然后在代码中从那里获取它。
如果你想覆盖(比如说)窗口范围的值,你可以这样做。资源,而不是应用。
j9per5c43#
使用
x:Static
标记扩展而不使用MemberType
对我来说很有效: