DataTrigger on Enums comme valeur de déclenchement sur un style WPF
Voici donc ce que j'essaie de faire un peu bref, je vais commencer avec le code et il sera plus susceptible de faire sens.
<bl:InnerGlowBorder x:Name="glow"
InnerGlowColor="Teal">
<bl:InnerGlowBorder.Style>
<Style TargetType="bl:InnerGlowBorder">
<Style.Triggers>
<DataTrigger Binding="{Binding ViewUnitStatus}"
Value="UnitStatusModel.Pass">
<Setter Property="InnerGlowColor"
Value="Green" />
</DataTrigger>
<DataTrigger Binding="{Binding ViewUnitStatus}"
Value="UnitStatusModel.Fail">
<Setter Property="InnerGlowColor"
Value="Red" />
</DataTrigger>
<DataTrigger Binding="{Binding ViewUnitStatus}"
Value="UnitStatusModel.Indeterminate">
<Setter Property="InnerGlowColor"
Value="Yellow" />
</DataTrigger>
<DataTrigger Binding="{Binding ViewUnitStatus}"
Value="UnitStatusModel.Warning">
<Setter Property="InnerGlowColor"
Value="Orange" />
</DataTrigger>
</Style.Triggers>
</Style>
</bl:InnerGlowBorder.Style>
</bl:InnerGlowBorder>
Et l'enum définition:
namespace SEL.MfgTestDev.ESS.ViewModel
{
public enum UnitStatusModel
{
Indeterminate,
Pass,
Fail,
Warning,
}
}
Suis-je en manque un morceau pour faire ce travail? J'ai trouvé certains WPF articles sur les énumérations qui s'appuient sur des sources de données d'objets et je n'aime pas vraiment la solution, n'est-ce pas là quelque chose de plus simple que je peux faire ici?
source d'informationauteur Firoso
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé la solution et c'était tout à fait stupide.
Styles sont conçus comme une sorte de visual modèle pour un contrôle, mais ils sont conçus comme une base pour le visuel de la mise en œuvre, non pas comme un être-tous/tous modèle visuel.
Comme un résultat, j'ai eu une situation dans laquelle mon modèle dicté ce que le InnerGlowColor devrait être. Toutefois, par application de l'attribut InnerGlowColor="bleu-vert" de l'élément, j'ai créé un remplacement en effet, en ignorant mon style visuel. La solution était tout simplement de supprimer la dépendance de la propriété dans la déclaration de l'élément.