gpt4 book ai didi

wpf - 在 Value = Maximum 后停止 ProgressBar 动画

转载 作者:行者123 更新时间:2023-12-02 00:10:37 25 4
gpt4 key购买 nike

我为进度条添加了一个动画。

我试图在最大填充后停止动画(每次都更改)。我根据我需要处理的文件数量从代码后面生成进度条最大值。

以下是我的代码片段

<Trigger Property="Value" Value="10">
<Setter Property="Visibility" TargetName="Animation" Value="Collapsed"/>

</Trigger>

当进度条的最大值为 10 时,上述触发器有效,但我的问题是如何将此值更新为动态生成的最大值。

有人能帮帮我吗?

非常感谢您的宝贵时间

最佳答案

一个更复杂的方法(但也更可重用)是将 DataTriggerMultiBindingIMultiValueConverter 一起使用:

public class EqualsConverver : IMultiValueConverter
{
public object Convert(object[] values, Type targetType,
object parameter, CultureInfo culture)
{
if (values.Length < 1)
return Binding.DoNothing;

var obj = values[0];
for (int i = 1; i < values.Length; ++i)
{
if (!obj.Equals(values[i]))
return false;
}

return true;
}

public object[] ConvertBack(object value, Type[] targetTypes,
object parameter, CultureInfo culture)
{
throw new NotSupportedException();
}
}

然后你的触发器看起来像:

<DataTrigger Value="True">
<DataTrigger.Binding>
<MultiBinding Converter="{StaticResource equalsConverter}">
<Binding Path="Value" RelativeSource="{RelativeSource Self}" />
<Binding Path="Maximum" RelativeSource="{RelativeSource Self}" />
</MultiBinding>
</DataTrigger.Binding>
<Setter Property="Visibility" TargetName="Animation" Value="Collapsed"/>
</DataTrigger>

关于wpf - 在 Value = Maximum 后停止 ProgressBar 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15642847/

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