本文整理汇总了C#中System.Windows.Size.IsInvalid方法的典型用法代码示例。如果您正苦于以下问题:C# Size.IsInvalid方法的具体用法?C# Size.IsInvalid怎么用?C# Size.IsInvalid使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Size
的用法示例。
在下文中一共展示了Size.IsInvalid方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MeasureOverride
protected override Size MeasureOverride(Size availableSize)
{
if (this.AllTexts == null || !this.AllTexts.Any())
{
return new Size(0, 0);
}
var textHeight = Math.Ceiling(this.FontSize * this.FontFamily.LineSpacing);
double w = 0;
double h = 0;
switch (this.TextOrientation)
{
case TextOrientation.VerticalUp:
case TextOrientation.VerticalDown:
w = textHeight;
h = this.AllTexts.Max(t => t.Width);
this.TextSpace = textHeight;
break;
case TextOrientation.Horizontal:
case TextOrientation.Tangential:
case TextOrientation.RadialOut:
w = this.AllTexts.Max(x => x.Width);
h = textHeight;
this.TextSpace = w;
break;
default:
throw new ArgumentOutOfRangeException();
}
var margin = this.TextSpace / 2;
switch (this.Placement)
{
case TickBarPlacement.Left:
case TickBarPlacement.Right:
this.TextSpaceMargin = new Thickness(0, margin, 0, margin);
break;
case TickBarPlacement.Top:
case TickBarPlacement.Bottom:
this.TextSpaceMargin = new Thickness(margin, 0, margin, 0);
break;
default:
throw new ArgumentOutOfRangeException();
}
var size = new Size(w, h);
if (size.IsInvalid())
{
return new Size(0, 0);
}
return size;
}