Исключение с типовой системой: char
-
27-09-2019 - |
Вопрос
Я пытаюсь создать многоразовый System:Char
ценность в моем xaml
Ресурсы.
У меня есть:
xmlns:s="clr-namespace:System;assembly=mscorlib"
Затем:
<s:Char x:Key="MaskPromptChar">#</s:Char>
Я получаю исключение:
The type 'Char' was not found. [Line: 8 Position: 44]
Но ... у меня тоже есть:
<s:Double x:Key="DefaultControlWidth">200</s:Double>
И...
<s:String x:Key="ApplicationTitle">My Title</s:String>
Оба String
и Double
работать нормально.
Идеи ??
Решение
Этот код работает для меня как в Silverlight, так и WPF.
<UserControl.Resources>
<sys:Double x:Key='myDouble'>4</sys:Double>
<sys:Char x:Key='myChar'>#</sys:Char>
</UserControl.Resources>
<StackPanel x:Name="LayoutRoot">
<PasswordBox Password='aaa'
PasswordChar='$' />
<PasswordBox Password='aaa'
PasswordChar='{StaticResource myChar}' />
</StackPanel>
Какую собственность вы пытаетесь назначить Char?
Другие советы
Я думаю, что CHAR - это структура, вместо объекта, и что вы действительно смотрите, - это бокс 16-битной целочисленной ценности, представляющей Unicode. Я склонен смотреть на XAML как сериализацию специализации объекты, и если Char на самом деле распределять, Эта модель может сломаться.
Возможно, вы захотите рассмотреть возможность кусания пули и вместо этого строка длиной.
ОБНОВИТЬ: Я согласен с прочной линией рассуждений GMCALAB и основываясь на том, что провел эксперимент, используя пространство имен для MSCorlib и соответствующего ресурса символов. Это сработало Без промедления. (Теперь мы смотрим на проблему пространства имен или столкновений библиотеки?)