如何设置绑定到视图模型属性的WPF控件的动画



我有一个WPF应用程序,它使用MVVM。用户在编辑数据时,如果满足某些条件,则需要填写修订说明以进行审核。如果他们不需要,我会隐藏修订注释文本框以保持UI清晰。

目前,这是通过将文本框(及其标签)周围的网格的Visibility属性绑定到视图模型上的bool属性来完成的。当bool发生变化时,revision notes文本框将根据需要隐藏或显示。

这很好,但文本框刚刚出现。我想设置它的动画,使它从零高度增长到默认高度,或者类似的东西。

你知道我该怎么做吗?我以前做过动画,但这总是在我手动触发动画的时候。在这种情况下,我希望在XAML中声明动画,以便在绑定更改时自动进行。

有人能给我指正确的方向吗?

只需使用DataTrigger即可启动动画:

 <Grid>
    <Grid.Style>
       <Style>
           <Style.Triggers>
               <DataTrigger Binding="{Binding MyVMBool}"
                         Value="True">
                    <DataTrigger.EnterActions>
                        <BeginStoryboard >
                            <Storyboard>
                                <!-- DoubleAnimation on height or whatever -->
                            </Storyboard>
                        </BeginStoryboard>
                    </DataTrigger.EnterActions>
                    <DataTrigger.ExitActions>
                        <!-- you could animate close too if you wanted -->
                    </DataTrigger.ExitActions>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Grid.Style>

听起来像是用DataStateBehavior来解决它。这是MSDN文档http://msdn.microsoft.com/en-us/library/vstudio/dn195678(v=vs.110).aspx。您还可以查看GoToStateAction。

相关内容

  • 没有找到相关文章

最新更新