如何用XAML表示系统常量(如double.MaxValue)

如何用XAML表示系统常量(如double.MaxValue),xaml,constants,Xaml,Constants,与MyProperty=double.MaxValue等效的xaml是什么? 恐怕我需要使用类似于MyProperty=“{x:Static sys:Int32.MaxValue}”,但不确定,并且找不到double的等效值。谢谢。找到: 将此项添加到控件的“名称空间”部分以访问系统库: ... xmlns:sys="clr-namespace:System;assembly=mscorlib" ... 然后,要在ctr命名空间中设置MyControl控件的最大属性: <ctr:MyCo

MyProperty=double.MaxValue
等效的xaml是什么? 恐怕我需要使用类似于
MyProperty=“{x:Static sys:Int32.MaxValue}”
,但不确定,并且找不到double的等效值。谢谢。

找到:

将此项添加到控件的“名称空间”部分以访问系统库:

... xmlns:sys="clr-namespace:System;assembly=mscorlib" ...
然后,要在ctr命名空间中设置MyControl控件的最大属性:

<ctr:MyControl Maximum="{x:Static sys:Double.MaxValue}"/>
同样有效,但我怀疑在这种情况下使用它是不合适的,它似乎是为计算保留的,比如
if(x==Double.PositiveInfinity)
。专家可以详细说明

{x:Static sys:Double.PositiveInfinity}
如果您将某个控件设置
MaxWidth
设置为某个值,并且希望在某个位置通过XAML将其重置,则可能会很有用

这是因为
double.PositiveInfinity是
MaxWidth
/
MaxHeight`的默认值(未设置)

我发现这在Silverlight Media Framework中很有用,可以隐藏/显示视频区域(只听音频)。请参阅以下文件底部附近的相关注释:

{x:Static sys:Double.PositiveInfinity}