Что такое xaml эквивалент MyProperty = double.MaxValue
?
Боюсь, мне нужно использовать что-то вроде MyProperty="{x:Static sys:Int32.MaxValue}"
, но не уверен, и не могу найти эквивалент для double. Спасибо.
Как представить системные константы в XAML (например, double.MaxValue)
Ответ 1
Найдено:
добавьте это в раздел namespaces элемента управления для доступа к Системной библиотеке:
... xmlns:sys="clr-namespace:System;assembly=mscorlib" ...
то для установки Максимального свойства элемента управления MyControl в пространстве имен ctr:
<ctr:MyControl Maximum="{x:Static sys:Double.MaxValue}"/>
Edit:
{x:Static sys:Double.PositiveInfinity}
тоже работает, но я подозреваю, что использовать его в этом контексте нецелесообразно, он, похоже, зарезервирован для оценки, например if (x==Double.PositiveInfinity)
. Эксперты могут разработать...
Ответ 2
{x:Static sys:Double.PositiveInfinity}
может быть полезна, если вы скажете некоторую настройку управления MaxWidth
на какое-то значение, и вы хотите reset ее через XAML у какого-то предка
Это связано с тем, что double.PositiveInfinity is the default value (not set) for
MaxWidth /
MaxHeight`.
Я нашел это полезным в Silverlight Media Framework, чтобы скрыть/показать область видео (просто слушать аудио). См. Соответствующие примечания в нижней части: