Question

Je suis en train de créer une valeur System:Char réutilisable dans mes ressources xaml.

Je:

xmlns:s="clr-namespace:System;assembly=mscorlib"

Alors:

<s:Char x:Key="MaskPromptChar">#</s:Char>

je reçois une exception:

The type 'Char' was not found. [Line: 8 Position: 44]

Mais ... J'ai aussi:

<s:Double x:Key="DefaultControlWidth">200</s:Double>

...

<s:String x:Key="ApplicationTitle">My Title</s:String>

Les deux String et Double excellent travail.

Idées ??

Était-ce utile?

La solution

Ce code fonctionne pour moi à la fois Silverlight et 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>

Quels sont les biens que vous essayez d'affecter le char?

Autres conseils

Je pense que Char est une structure , plutôt qu'un objet, et ce que vous êtes à la recherche est vraiment à la boxe est d'une valeur entière 16 bits représentant Unicode. J'ai tendance à regarder XAML comme sérialisation de spécialisation de objets , et si Char est en fait un struct , ce modèle peut se décomposer.

Vous voudrez peut-être envisager de mordre la balle et à l'aide d'une chaîne d'une longueur à la place.

UPDATE : Je suis d'accord avec la solide ligne des gmcalab de raisonnement, et sur cette mené une expérience en utilisant un espace de noms pour mscorlib et la ressource de caractères correspondant. Il a travaillé sans accroc. (Est-ce que nous cherchons maintenant à un espace de noms ou un problème de collision bibliothèque?)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top