gpt4 book ai didi

wpf - 如何根据 ViewModel 属性值添加淡入/淡出动画?

转载 作者:行者123 更新时间:2023-12-03 20:21:03 33 4
gpt4 key购买 nike

我有一个 ViewModel 它公开字符串属性 PageToolBarVisible ,它可以是 true false :

private string _pageToolBarVisible;
public string PageToolBarVisible
{
get
{
return _pageToolBarVisible;
}

set
{
_pageToolBarVisible = value;
OnPropertyChanged("PageToolBarVisible");
}
}

然后在我的 View 我有这个 DataTrigger 显示 相应地隐藏 工具栏:
<Style x:Key="PageToolBarStyle" TargetType="Border">
<Style.Triggers>
<DataTrigger Binding="{Binding PageToolBarVisible}" Value="false">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>

<Border Style="{StaticResource PageToolBarStyle}"
DockPanel.Dock="Bottom" Padding="5 5 5 0" Background="#eee">
<Grid Background="#eee">
...
</Grid>
</Border>

我现在如何 添加 动画 以便:
  • 当 ViewModel 属性从 true 更改为 false 时, 工具栏淡出
  • 当 ViewModel 属性从 false 更改为 true 时, 工具栏在 中淡出

  • 我想我必须在我的风格中添加这样的东西,但我不知道如何或在哪里:
    <BeginStoryboard>
    <Storyboard>
    <DoubleAnimation
    Storyboard.TargetName="PageToolBar"
    Storyboard.TargetProperty="(TextBlock.Opacity)"
    From="0.0" To="1.0" Duration="0:0:3"/>
    </Storyboard>
    </BeginStoryboard>

    最佳答案

    您可以将 BeginStoryboard 放在 DataTrigger.EnterActions 中

    <DataTrigger Binding="{Binding PageToolBarVisible}" Value="false">
    <DataTrigger.EnterActions>
    <BeginStoryboard>
    <Storyboard>
    <DoubleAnimation
    Storyboard.TargetName="PageToolBar"
    Storyboard.TargetProperty="(TextBlock.Opacity)"
    From="0.0" To="1.0" Duration="0:0:3"/>
    </Storyboard>
    </BeginStoryboard>
    </DataTrigger.EnterActions>

    <DataTrigger.ExitActions>
    <BeginStoryboard>
    <Storyboard>
    <DoubleAnimation
    Storyboard.TargetName="PageToolBar"
    Storyboard.TargetProperty="(TextBlock.Opacity)"
    From="1.0" To="0.0" Duration="0:0:3"/>
    </Storyboard>
    </BeginStoryboard>
    </DataTrigger.ExitActions>
    </DataTrigger>

    关于wpf - 如何根据 ViewModel 属性值添加淡入/淡出动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1091976/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com