2010-06-16 6 views
1

Je suis habitué à utiliser des convertisseurs qui renvoient une valeur par propriété, telle que la couleur de premier plan.Convertisseur wpf: définition de plusieurs propriétés

Est-il possible d'avoir un convertisseur qui fonctionne avec plusieurs propriétés?

tels que: Premier plan, arrière-plan, Font-poids, Font-Taille

Comment puis-je créer un convertisseur (ou inférieur à 4) qui pourrait définir plusieurs propriétés?

Répondre

0

Non, les convertisseurs ne sont pas conçus pour cela. Vous pouvez éventuellement descendre la route de comportement ci-joint et définir les propriétés, en fonction d'une propriété de dépendance liée (je suppose) sur attach?

Edit: les comportements font partie du SDK Blend, la structure de base de ce que vous voulez est:

public class MyBehavior : Behavior<TextBlock> 
{ 
    //// <-- Dependency property here 

    protected override void OnAttached() 
    { 
     base.OnAttached(); 

     this.AssociatedObject.Foreground = CalculateForeground(); 
     this.AssociatedObject.Background = CalculateBackground(); 
     // etc.. 
    } 

    private Brush CalculateForeground() 
    { 
     // Do some calculations based on the dependency property 
    } 

    private Brush CalculateBackground() 
    { 
     // Do some calculations based on the dependency property 
    } 

    protected override void OnDetaching() 
    { 
     base.OnDetaching(); 

     // You might want to reset to default here, or just do nothing 
    } 
} 
+0

route comportement attaché? .. peut-être pourriez-vous élaborer :) –

Questions connexes