Ich habe eine neue WPF-Frage.Kann in WPF ein Typkonverter für eine statische Ressource bereitgestellt werden?
mein Benutzerkontrolle Imagine hat einen Namespace-Deklaration wie folgt aus:
xmlns:system="clr-namespace:System;assembly=mscorlib"
Und ich habe Ressourcen für die Benutzersteuerung wie folgt aus:
<UserControl.Resources>
<system:Int32 x:Key="Today">32</system:Int32>
</UserControl.Resources>
Und dann irgendwo in meinem Benutzersteuer ich diese haben :
<TextBlock Text="{StaticResource Today}"/>
Dies führt zu einem Fehler, da Today
als Ganzzahlressource definiert ist, die Text-Eigenschaft jedoch eine Zeichenfolge erwartet. Dieses Beispiel ist erfunden, illustriert aber hoffentlich die Frage.
Die Frage ist, kann ich meinen Ressourcentyp nicht genau mit dem Eigenschaftstyp vergleichen, gibt es eine Möglichkeit für mich, einen Konverter für meine Ressourcen bereitzustellen? So etwas wie IValueConverter für Bindings oder einen Typkonverter.
Vielen Dank!
Perfekt, danke für die Information! – Notre
Was wäre, wenn Sie die Farbkomponenten von einer StatistikResource erhalten möchten, bei der es sich um eine Farbe handelt? (Zum Beispiel, um die Opazität der StaticResource-Farbe zu ändern.) Folgendes scheint nicht zu funktionieren: –
Es funktioniert nicht, da Sie nur eine Bindung für a festlegen können DependencyProperty eines DependencyObject. Farbe ist eine Struktur. Sie könnten ein eigenes Farbwrapper-Objekt erstellen, das eine DependencyProperty ist, und die Eigenschaften A, R, G, B und Farbe anzeigen, die selbst DPs sind. Wenn Sie eine der Eigenschaften ändern, wird die Color-Eigenschaft aktualisiert, und wenn Sie sie ändern, werden alle anderen aktualisiert. –