J'utilise le modèle MVVM et j'ai la propriété de type chaîne dans mon ModelView.WPF TextBlock dynamique gras et italique parties
La chaîne peut contenir des balises HTML suivantes:
<b>, </b>, <i>, </i>
je dois faire certaines parties du texte TextBlock être en état normal, en gras ou en italique.
Au moment où j'ai créé contourner ce problème, une méthode d'assistance qui fonctionne comme ceci:
Pauses chaîne HTML en parties
Crée une nouvelle instance de Run classe
Selon étiquette, définit les propriétés FontWeight ou FontStyle
Ajoute une instance de Run class à InBox de TextBlock s collection
Cette solution fonctionne, mais elle n'est pas compatible avec le modèle MVVM.
Je pensais utiliser des Convertisseurs, mais je ne suis pas sûr de savoir à quelle propriété de TextBlock je devrais me lier.
Que pensez-vous, comment ce problème peut-il être résolu?
Essayez ContentControl et BindableRun. Je vous remercie! –
Excellente solution! Bon, d'accord, je préférerais pouvoir lier la propriété 'Inlines', mais en l'absence d'un tel support, c'est une très bonne alternative. Il est également intéressant de noter que la propriété 'Text' de' Run' est maintenant une propriété de dépendance, donc peut être lié sans avoir besoin de BindableRun. –