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

时间:2010-01-05 00:31:21

标签: xaml constants

xaml 等同于MyProperty = double.MaxValue是什么? 我担心我需要使用类似MyProperty="{x:Static sys:Int32.MaxValue}"的东西,但不确定,并且找不到双倍的等价物。感谢。

2 个答案:

答案 0 :(得分:33)

找到:

在控件的名称空间部分添加它以访问系统库:

... xmlns:sys="clr-namespace:System;assembly=mscorlib" ...

然后,在ctr命名空间中设置MyControl控件的最大属性:

<ctr:MyControl Maximum="{x:Static sys:Double.MaxValue}"/>

编辑:

{x:Static sys:Double.PositiveInfinity}

也有效,但我怀疑在这种情况下使用它是不合适的,它似乎保留给像if (x==Double.PositiveInfinity)这样的评估。专家可以详细说明......

答案 1 :(得分:3)

{x:Static sys:Double.PositiveInfinity}
如果你说某些控件设置MaxWidth为某个值而你想在某个祖先通过XAML重置它

,那么

会很有用

这是因为double.PositiveInfinity is the default value (not set) for MaxWidth / MaxHeight`。

我发现这对Silverlight Media Framework很有用,可以隐藏/显示视频区域(只是听到音频)。请参阅底部附近的相关说明:

How to hide the video area of the Silverlight media framework player