Вопрос

Я пытаюсь создать многоразовый 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 и соответствующего ресурса символов. Это сработало Без промедления. (Теперь мы смотрим на проблему пространства имен или столкновений библиотеки?)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top