2010-11-25 15 views
0

Ich habe ein Fenster mit zwei Textfeldern im Raster. Das Raster enthält einen Auslöser, der eine Animation auslöst, wenn sich der Text in einer der Textfelder ändert. Problem. Ich möchte, dass das Textfeld, das aktualisiert wird, von der Animation beeinflusst wird. Zurzeit muss ich StoryBoard.TargetName auf den Namen eines Textfelds setzen, damit es funktioniert.WPF, zwei Textfelder, ein Trigger, eine Animation?

Hier ist ein Ausschnitt:

<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> 

Danke

Antwort

0

den Trigger setzen in benannte Stil (für TextBox Typ) in einer Ressourcenbereich, verwenden Sie dann diesen Stil für jede TextBox

+0

ich versucht hatte, aber ich habe es mit neuem Elan angegriffen und es funktioniert jetzt :) Hier ist die Ressource, die ich hinzugefügt habe. – Ian

0

ein Multitrigger erstellen, die auch für "IsFocused" überprüft.