You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中将RepeatBehavior.Forever转换为2次重复?

解决方案:在C#中将动画的RepeatBehavior.Forever改为2次重复

嘿,这事儿其实超简单!你只需要直接给动画的RepeatBehavior属性赋值一个基于次数的RepeatBehavior实例就行,和XAML里写RepeatBehavior="2x"的效果完全一致。

具体实现方式

不管你的动画是从XAML资源里获取的,还是纯C#代码创建的,都可以通过以下方式修改重复行为:

示例1:修改已存在的动画实例(从XAML资源获取)

假设你在XAML里定义了一个原本设为RepeatBehavior="Forever"的动画,现在在C#里把它改成2次重复:

// 从资源字典中获取动画实例(这里以DoubleAnimation为例)
var targetAnimation = FindResource("MyAnimation") as DoubleAnimation;
if (targetAnimation != null)
{
    // 将无限重复替换为2次重复(包含首次播放,总共播放2次)
    targetAnimation.RepeatBehavior = new RepeatBehavior(2);
}

示例2:纯C#创建动画时直接设置2次重复

如果是完全用代码构建动画,初始化时直接指定重复次数即可:

// 创建一个位移动画
var moveAnimation = new DoubleAnimation
{
    From = 0,
    To = 200,
    Duration = TimeSpan.FromSeconds(1),
    // 直接设置为2次重复,替代RepeatBehavior.Forever
    RepeatBehavior = new RepeatBehavior(2)
};

// 将动画应用到目标UI元素
myButton.BeginAnimation(Canvas.LeftProperty, moveAnimation);

小提醒

这里的次数参数是包含首次播放的总次数,所以设置2就和XAML里的2x效果完全一样——动画会完整运行两次(第一次播放 + 重复一次)。

内容的提问来源于stack exchange,提问作者Matheus Miranda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:52:57