2010-11-25 2 views
0

У меня есть окно с двумя текстовыми полями, сидящими в сетке. Сетка содержит один триггер, который запускает анимацию при изменении текста в любом из текстовых полей. Проблема. Я хочу, чтобы текстовое поле обновлялось под воздействием анимации, в настоящее время мне нужно установить StoryBoard.TargetName на имя текстового поля, чтобы он работал.WPF, два текстовых поля, один триггер, одна анимация?

Вот отрывок:

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

Спасибо

ответ

0

поставить курок в имени стиля (для TextBox типа) в области ресурсов, а затем использовать этот стиль для каждого TextBox

+0

Я попытался это, но я напал на него с новой силой, и теперь он работает :) Вот ресурс, который я добавил. – Ian 2010-11-25 15:09:38

0

Создать MultiTrigger, который также проверяет "IsFocused".

Смежные вопросы