C# WPF中的基本动画:如何在展开网格时设置网格动画
我正在WPF应用程序中使用MVVm。我目前正在尝试设置网格的动画,这样当用户在组合框中选择特定项时,我希望网格在展开时设置动画。我的视图模型中有一个属性,我想绑定该属性以触发网格中的动画。我们如何在MVVM中做到这一点?到目前为止,我最近发现了一个使用C# WPF中的基本动画:如何在展开网格时设置网格动画,c#,wpf,mvvm,storyboard,C#,Wpf,Mvvm,Storyboard,我正在WPF应用程序中使用MVVm。我目前正在尝试设置网格的动画,这样当用户在组合框中选择特定项时,我希望网格在展开时设置动画。我的视图模型中有一个属性,我想绑定该属性以触发网格中的动画。我们如何在MVVM中做到这一点?到目前为止,我最近发现了一个使用 EventTrigger RoutedEvent ="SampleGridEventName" 是否有任何方法可以使用其他触发器绑定到我的ViewModel中的属性 Trigger BlahBlah ="{Binding ExpandGrid}
EventTrigger RoutedEvent ="SampleGridEventName"
是否有任何方法可以使用其他触发器绑定到我的ViewModel中的属性
Trigger BlahBlah ="{Binding ExpandGrid}"
对。样式具有DataTrigger,DataTrigger还具有EnterActions属性。动画存储在资源中。这就是诀窍
<UserControl x:Class="TriggerSpike.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="300" Width="300">
<UserControl.Resources>
<DoubleAnimation x:Key="SearchAnimation" Storyboard.TargetProperty="Opacity" To="1" Duration="0:0:4"/>
<DoubleAnimation x:Key="StopSearchAnimation" Storyboard.TargetProperty="Opacity" To="0" Duration="0:0:4"/>
</UserControl.Resources>
<StackPanel>
<TextBlock Name="progressWheel" TextAlignment="Center" Opacity="0">
<TextBlock.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding IsBusy}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<StaticResource ResourceKey="SearchAnimation"/>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<StaticResource ResourceKey="StopSearchAnimation"/>
</Storyboard>
</BeginStoryboard>
</DataTrigger.ExitActions>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
Searching
</TextBlock>
<Label Content="Here your search query"/>
<TextBox Text="{Binding SearchClause}"/>
<Button Click="Button_Click">Search!</Button>
<TextBlock Text="{Binding Result}"/>
</StackPanel>
</UserControl>
搜索
搜索!