gpt4 book ai didi

wpf - 在 WPF 动画中,将属性 BeginTime 设置为静态资源

转载 作者:行者123 更新时间:2023-12-03 02:45:05 24 4
gpt4 key购买 nike

我想要做的是使用资源定义我的动画的所有开始时间。

例如,我想要:

<sys:TimeSpan x:key="SomeResource">... </sys:TimeSpan>

...

<DoubleAnimation BeginTime={StaticResource SomeResource}/>

显然 sys:TimeSpan 不是正确使用的类型。如何定义我的资源,以便在定义动画时将其作为资源引用?

我也想纯粹在 XAML 中执行此操作。

谢谢。

最佳答案

System.TimeSpan 是正确使用的类型,因为这是 BeginTime 的类型。您也可以对 Duration 执行相同的操作(但使用 System.Windows.Duration 类型)。

以下是在动画中使用 StaticResource 的示例(2 秒后淡入 1 秒):

    <Button Content="Placeholder"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Opacity="0.5">
<Button.Resources>
<sys:TimeSpan x:Key="FadeInBeginTime">0:0:2</sys:TimeSpan>
<Duration x:Key="FadeInDuration">0:0:1</Duration>
</Button.Resources>
<Button.Style>
<Style>
<Style.Triggers>
<EventTrigger RoutedEvent="UIElement.MouseEnter">
<BeginStoryboard x:Name="FadeInBeginStoryBoard">
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity"
To="1"
BeginTime="{StaticResource FadeInBeginTime}"
Duration="{StaticResource FadeInDuration}" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="UIElement.MouseLeave">
<StopStoryboard BeginStoryboardName="FadeInBeginStoryBoard" />
</EventTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>

假设您已将 sys 命名空间声明为:

    xmlns:sys="clr-namespace:System;assembly=mscorlib"

希望这有帮助!

关于wpf - 在 WPF 动画中,将属性 BeginTime 设置为静态资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7814091/

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