Ajouter une propriété à votre modèle de vue:
public bool HasImportantHeader // or something...
{
get { return HeaderType >=1 && HeaderType <= 100; }
}
utilisation que propriété dans le déclenchement de données:
<DataTrigger Binding="{Binding HasImportantHeader}" Value="True">
<Setter Property="BorderThickness" Value="5"/>
</DataTrigger>
En général, j'aime que mon XAML soit aussi simple que possible, mettre toute la logique dans le modèle de vue, et éviter d'utiliser les convertisseurs à moins qu'ils ne soient absolument nécessaires.
Disons que vous ajoutez un autre point de vue, où vous voulez utiliser le texte en gras pour indiquer le type d'en-tête est compris entre 1 et 100. Il suffit de réutiliser la propriété HasImportantHeader
, quelque chose comme:
<DataTrigger Binding="{Binding HasImportantHeader}" Value="True">
<Setter Property="FontWeight" Value="Bold"/>
</DataTrigger>
Plus tard, vous peut décider que tous les types d'en-tête jusqu'à doivent avoir une bordure épaisse et du texte en gras. Ce sera une simple question de changer l'implémentation de la propriété HasImportantHeader
.
Belle solution. "Les valeurs sont-elles dans la gamme?" est un état. La vue est pour visualiser des choses, pas pour garder l'état. – rooks