Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF:动画在更改为{False或True}时不起作用_C#_Wpf_Animation - Fatal编程技术网

C# WPF:动画在更改为{False或True}时不起作用

C# WPF:动画在更改为{False或True}时不起作用,c#,wpf,animation,C#,Wpf,Animation,将显示默认的“网格” 在第一步和“隐藏鼠标”中,动画起作用 然后就再也不回应我了 请帮我解决这个问题。 我在等待你热情的回应:) 风格: <Style x:Key="ShowHideVisibilityStyle" TargetType="{x:Type Grid}"> <Setter Property="Opacity" Value="1"></Setter> <Setter Property="Margin" Value="0,50,

将显示默认的“网格”

在第一步和“隐藏鼠标”中,动画起作用

然后就再也不回应我了

请帮我解决这个问题。

我在等待你热情的回应:)

风格:

<Style x:Key="ShowHideVisibilityStyle" TargetType="{x:Type Grid}">
    <Setter Property="Opacity" Value="1"></Setter>
    <Setter Property="Margin" Value="0,50,0,0"></Setter>
    <Setter Property="IsEnabled" Value="True" />
    <Style.Triggers>
        <Trigger Property="IsEnabled" Value="True">
            <Trigger.EnterActions>
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation
                            Storyboard.TargetProperty="Opacity"
                            From="0" To="1" Duration="0:0:0.5" />
                        <ThicknessAnimation   
                            Storyboard.TargetProperty="Margin"
                            From="-600,50,0,0"
                            To="0,50,0,0" 
                            Duration="0:0:0.1"
                        />
                    </Storyboard>
                </BeginStoryboard>
            </Trigger.EnterActions>
        </Trigger>
        <Trigger Property="IsEnabled" Value="False">
            <Trigger.EnterActions>
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation
                            Storyboard.TargetProperty="Opacity"
                            From="1" To="0" Duration="0:0:0.5" />
                        <ThicknessAnimation   
                            Storyboard.TargetProperty="Margin"
                            BeginTime="0:0:0.5"
                            To="-600,50,0,0" 
                            Duration="0:0:0" />
                    </Storyboard>
                </BeginStoryboard>
            </Trigger.EnterActions>
        </Trigger>
    </Style.Triggers>
</Style>
<Grid x:Name="SettingPage" Width="290" Style="{DynamicResource ShowHideVisibilityStyle}">
    <!-- code -->
</Grid>
嗨,我找到了解决办法:)

对于在一个属性上使用两个触发器,应使用“
Trigger.EnterActions
”和“
Trigger.exitctions
”而不是使用两个单独的
触发器

请原谅我的英语不好:D

代码:


嗨,我找到了解决办法:)

对于在一个属性上使用两个触发器,应使用“
Trigger.EnterActions
”和“
Trigger.exitctions
”而不是使用两个单独的
触发器

请原谅我的英语不好:D

代码:


这是一个简单的解决方案。只需将“启用”动画移动到一个
ExitTrigger


这是一个简单的解决方案。只需将“启用”动画移动到一个
ExitTrigger



哦,我看你自己刚想出来。@ManfredRadlwimmer谢谢你的回答:)哦,我看你自己刚想出来。@ManfredRadlwimmer谢谢你的回答:)
private void Hide_MouseUp(object sender, MouseButtonEventArgs e){
    SettingPage.IsEnabled = false;
}
private void Show_MouseUp(object sender, MouseButtonEventArgs e){
    SettingPage.IsEnabled = true;
}
<Style.Triggers>
    <Trigger Property="IsEnabled" Value="True">
        <Trigger.EnterActions>
            <BeginStoryboard>
                <Storyboard>
                   <!-- Animation -->
                </Storyboard>
            </BeginStoryboard>
        </Trigger.EnterActions>

        <Trigger.ExitActions>
            <BeginStoryboard>
                <Storyboard>
                    <!-- Animation -->
                </Storyboard>
            </BeginStoryboard>
        </Trigger.ExitActions>
    </Trigger>
</Style.Triggers>