我有一个窗口,其中有两个文本框位于网格中。网格包含一个触发器,当任一文本框中的文本发生更改时,该触发器将触发动画。问题。我希望更新的文本框受到动画的影响,目前我必须将StoryBoard.TargetName设置为文本框的名称才能使其正常工作。
这是一个片段:
<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 :(得分:0)
创建一个也检查“IsFocused”的MultiTrigger。
答案 1 :(得分:0)
将触发器设置为资源区域中的命名样式(对于TextBox
类型),然后对每个TextBox
使用该样式