在加载一个EventTrigger时,调用了一个TextBlock:
<TextBlock Name="Hit" Text="Hit!">
<TextBlock.Triggers>
<EventTrigger RoutedEvent="TextBlock.Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetProperty="Opacity"
From="0" To="1" Duration="0:0:1"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</TextBlock.Triggers>
</TextBlock>但是我想创建自己的启动程序,并在我的EventTrigger类中直接调用这个C#。
有人能帮我吗?
发布于 2016-06-17 09:13:34
我的理解是,当文本框加载时,您需要调用故事板。
下面的代码对我有用。
Xaml:
<Window x:Class="WpfApplication6.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="clr-namespace:WpfApplication6"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<Storyboard x:Key="animation">
<DoubleAnimation
Storyboard.TargetProperty="Opacity"
From="0" To="1" Duration="0:0:1"/>
</Storyboard>
</Window.Resources>
<Window.DataContext>
<vm:ViewModel></vm:ViewModel>
</Window.DataContext>
<Grid x:Name="grid">
<StackPanel>
<TextBlock Name="Hit" Width="200" Height="100" Text="Hit!">
</TextBlock>
</StackPanel>
</Grid>
</Window>代码:
public MainWindow()
{
this.InitializeComponent();
Hit.Loaded += Hit_Loaded;
}
private void Hit_Loaded(object sender, RoutedEventArgs e)
{
Storyboard sb = this.FindResource("animation") as Storyboard;
Storyboard.SetTarget(sb, this.Hit);
sb.Begin();
}https://stackoverflow.com/questions/37876885
复制相似问题