Frage

Ich versuche, einen wiederverwendbaren System:Char Wert in meiner xaml Ressource zu schaffen.

ich habe:

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

Dann:

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

ich eine Ausnahme erhalten:

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

Aber ... ich auch haben:

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

Und ...

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

Sowohl String und Double funktionieren.

Ideen ??

War es hilfreich?

Lösung

Dieser Code funktioniert für mich sowohl in Silverlight und 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>

Was Eigenschaft versuchen Sie, die Zeichen zu vergeben?

Andere Tipps

Meine Vermutung ist, dass Char ist eine Struktur , anstatt ein Objekt, und was Sie wirklich suchen, ist Box von einem 16-Bit-integer-Wert, den Unicode. Ich neige dazu, in XAML als Spezialisierung Serialisierung suchen Objekte , und wenn Char ist eigentlich ein struct dieses Modell brechen kann.

Sie könnten stattdessen die Kugel beißen und mit einem String der Länge eins zu betrachten.

UPDATE : Ich mit gmcalab solider Argumentationslinie einverstanden ist, und auf der Grundlage, dass ein Experiment durchgeführt, einen Namespace zu mscorlib und die entsprechenden Zeichen Ressource verwendet wird. Es funktioniert ohne Probleme. (Sind wir jetzt in einem Namensraum oder Bibliothek Kollisionsproblem suchen?)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top