ScreenToGif/Util/Converters/MaximumValue.cs
(完整代码) 1KBusing System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Data;
namespace ScreenToGif.Util.Converters
{
/// <summary>
/// MaximumValue MultiValueConverter.
/// [0]: Minimum based on itself.
/// [1]: Maximum based on another control.
/// [2]: Offset (It's used as Maximum - Offset).
/// </summary>
public class MaximumValue : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
if (values.Length < 2)
return DependencyProperty.UnsetValue;
var minVar = (int)Math.Round(values[0] as Double? ?? values[0] as Int32? ?? 0, MidpointRounding.AwayFromZero);
var maxVar = (int)Math.Round(values[1] as Double? ?? values[1] as Int32? ?? 0, MidpointRounding.AwayFromZero);
if (values.Length == 2)
return minVar > maxVar || double.IsNaN(maxVar) ? minVar : maxVar;
var offset = values[2] as Double? ?? values[2] as Int32? ?? 0;
var result = (int)Math.Round(maxVar - offset, MidpointRounding.AwayFromZero);
return minVar > result || double.IsNaN(maxVar) ? minVar : result;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
