本文整理汇总了C#中System.Windows.Thickness.IsValid方法的典型用法代码示例。如果您正苦于以下问题:C# Thickness.IsValid方法的具体用法?C# Thickness.IsValid怎么用?C# Thickness.IsValid使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Thickness
的用法示例。
在下文中一共展示了Thickness.IsValid方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetCurrentValueCore
/// <summary/>
protected override Thickness GetCurrentValueCore(Thickness baseFromValue, Thickness baseToValue, AnimationClock animationClock) {
var progress = animationClock.CurrentProgress;
if (!progress.HasValue || Interpolator == null) {
return base.GetCurrentValueCore(baseFromValue, baseToValue, animationClock);
}
var fromValue = new Thickness();
var toValue = new Thickness();
var offset = new Thickness();
var isValid = true;
if (From.HasValue) {
fromValue = From.Value;
if (To.HasValue) {
// from ... to
toValue = To.Value;
if (IsAdditive) {
offset = baseFromValue;
isValid = offset.IsValid();
}
} else if (By.HasValue) {
// from ... from+by
toValue = _add(fromValue, By.Value);
if (IsAdditive) {
offset = baseFromValue;
isValid = offset.IsValid();
}
} else {
// from ... base
toValue = baseToValue;
isValid = toValue.IsValid();
}
} else if (To.HasValue) {
// base ... to
fromValue = baseFromValue;
toValue = To.Value;
isValid = fromValue.IsValid();
} else if (By.HasValue) {
// base ... base+by
toValue = By.Value;
offset = baseFromValue;
isValid = offset.IsValid();
} else {
// base ... base
fromValue = baseFromValue;
toValue = baseToValue;
isValid = fromValue.IsValid() && toValue.IsValid();
}
if (!isValid) {
throw new InvalidOperationException("GetCurrentValueCore");
}
if (IsCumulative) {
var iteration = animationClock.CurrentIteration;
if (iteration.HasValue && iteration.Value > 1) {
offset = _add(_multiply(_subtract(toValue, fromValue), iteration.Value - 1), offset);
}
}
var interpolator = Interpolator ?? Interpolators.Linear;
return _add(_add(fromValue, _multiply(_subtract(toValue, fromValue), interpolator(progress.Value, 0.0, 1.0))), offset);
}
示例2: CoerceThumbnailClipMargin
private Thickness CoerceThumbnailClipMargin(Thickness margin)
{
// Any negative/NaN/Infinity margins we'll treat as nil.
if (!margin.IsValid(false, false, false, false))
{
return new Thickness();
}
return margin;
}