Исключение с типом System: Char - PullRequest
       16

Исключение с типом System: Char

3 голосов
/ 04 октября 2010

Я пытаюсь создать повторно используемое значение 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 отлично работает.

Идеи ??

Ответы [ 2 ]

1 голос
/ 04 октября 2010

Этот код работает для меня как в 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>

Какому свойству вы пытаетесь присвоить символ?

0 голосов
/ 04 октября 2010

Я предполагаю, что Char - это структура , а не объект, и на самом деле вы видите бокс 16-битного целого числа, представляющего Unicode.Я склонен рассматривать XAML как сериализацию специализации объектов , и если Char на самом деле является struct , эта модель может сломаться.прикусив пулю и взамен использовав строку длины 1ресурс персонажа. Сработало без заминки.(Мы сейчас смотрим на проблему пространства имен или библиотеки?)

...