2

Je souhaite avoir un comportement Silverlight qui est déclenché par une modification d'une propriété dans le modèle de vue de ma page. Je ne peux pas comprendre comment faire cela, cependant.Comportement Silverlight basé sur la mise à jour de la propriété du modèle de vue

Donc, j'ai un modèle de vue très simple:

public class MyViewModel : INotifyPropertyChanged 
{ 
    private bool changingProperty; 
    public bool ChangingProperty 
    { 
     get { return changingProperty; } 
     set 
     { 
      if (changingProperty != value) 
      { 
       changingProperty = value; 
       NotifyPropertyChanged("ChangingProperty"); 
      } 
     } 
    } 
    public string SomeProperty { get { return "SomePropertyValue"; } } 

    // INotifyPropertyChanged implementation here....... 
} 

Ce modèle de vue est le contexte de données pour un contrôle utilisateur qui a un bloc de texte lié à SomeProperty:

<TextBlock x:Key="myTextBlock" Text="{Binding SomeProperty}" /> 

Tout cela fonctionne bien. Maintenant, je voudrais attacher un comportement à myTextBlock qui est déclenché par les changements à ChangingProperty dans mon modèle de vue. Le comportement devrait mettre en évidence le TextBlock, par exemple (ou quelque chose de plus sophistiqué).

Comment spécifier ce déclencheur? Est-ce possible?

Cordialement,

Ronald

Répondre

1

Quelque chose le long des lignes de ma réponse à une question similaire here pourrait aider.

Voici un exemple de la façon dont vous pourriez appliquer cette technique à vos besoins.

<Grid.Resources> 
    <local:BoolToBrushConverter x:Key="Highlighter" 
    FalseBrush="Transparent" TrueBrush="Yellow" /> 
</Grid.Resources> 

<Border Background="{Binding ChangingProperty, Converter={StaticResource Highlighter}}"> 
    <TextBlock x:Name="txtTarget" Text="{Binding SomeProperty}" /> 
</Border> 
+0

Oui, j'ai trop simplifié mes exigences. Ce que je voudrais faire, par exemple, est de mettre en évidence le texte dans le TextBlock, ou d'exécuter une animation (ou toute autre chose que vous pouvez faire avec un comportement Silverlight). J'ai mis à jour ma question pour refléter cela. –

+0

Cela peut fonctionner. Pas exactement ce que je voulais, mais je pense que c'est ce que vous pouvez faire de mieux avec Silverlight en ce moment. Je vais essayer, merci. Une idée si le DataTrigger WPF fera partie de Silverlight 4? Je pense que cela résoudrait mon problème. –

+0

Malheureusement, je ne pense pas que SL4 a cela non plus. – AnthonyWJones

Questions connexes