2010-11-25 6 views
0

J'ai une fenêtre avec deux zones de texte dans la grille. La grille contient un déclencheur qui déclenche une animation lorsque le texte de l'une des zones de texte change. Problème. Je veux que la zone de texte qui est mise à jour soit affectée par l'animation, actuellement je dois définir StoryBoard.TargetName au nom d'une zone de texte pour le faire fonctionner.WPF, deux zones de texte, un déclencheur, une animation?

Voici un extrait:

<Window x:Class="WpfApp.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainWindow" Height="229" Width="413" 
<Grid Width="395" Height="185"> 
    <Grid.Triggers> 
     <EventTrigger RoutedEvent="TextBox.TextChanged"> 
      <BeginStoryboard> 
       <Storyboard> 
        <ColorAnimation AutoReverse="False" Duration="0:0:1" From="Orange" To="White" 
        Storyboard.TargetName="txtBox1" AccelerationRatio="1" 
        Storyboard.TargetProperty="(TextBox.Background).(SolidColorBrush.Color)" 
        FillBehavior="HoldEnd"> 
        </ColorAnimation> 
       </Storyboard> 
      </BeginStoryboard> 
     </EventTrigger> 
    </Grid.Triggers> 
    <TextBox x:Name="txtBox1" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" HorizontalAlignment="Left" Margin="8,128,0,33" Width="378" FontFamily="Consolas" Text="{Binding Path=Output}" Height="23" /> 
    <TextBox Height="23" HorizontalAlignment="Left" Margin="8,150,0,0" Name="textBox1" VerticalAlignment="Top" Width="378" /> 
</Grid> 

Merci

Répondre

0

mettre la gâchette dans le style nommé (pour TextBox type) dans une zone de ressources, utilisez ce style pour chaque TextBox

+0

j'avais essayé, mais je l'ai attaqué avec une vigueur renouvelée et il fonctionne maintenant :) Voici la ressource que j'ai ajoutée. – Ian

0

Créer un MultiTrigger qui vérifie également pour "IsFocused".

Questions connexes