Я могу объявить целое или двойное значение в xaml. Однако я не могу добавить десятичное значение. Сборка выполняется нормально, но затем я получаю:
System.Windows.Markup.XamlParseException: тип «Десятичный» не был найдено.
Вот код xaml:
<UserControl.Resources>
<system:Int32 x:Key="AnIntValue">1000</system:Int32><!--Works!-->
<system:Double x:Key="ADoubleValue">1000.0</system:Double><!--Works!-->
<system:Decimal x:Key="ADecimalValue">1000.0</system:Decimal><!--Fails at runtime-->
</UserControl.Resources>
Вот как я объявляю системное пространство имен:
xmlns:system="clr-namespace:System;assembly=mscorlib"
Изменить: обходной путь: Как упомянул Стивен, добавление ресурса с помощью кода программной части, похоже, работает нормально:
Resources.Add("ADecimalValue", new Decimal(1000.0));
Изменить: Ответ: То же самое в WPF, кажется, работает нормально. Так что я предполагаю, что это скрытое ограничение Silverlight. Спасибо Стивену за эту находку.