本文整理汇总了C#中System.Windows.Controls.ContentPresenter.Equals方法的典型用法代码示例。如果您正苦于以下问题:C# ContentPresenter.Equals方法的具体用法?C# ContentPresenter.Equals怎么用?C# ContentPresenter.Equals使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Controls.ContentPresenter
的用法示例。
在下文中一共展示了ContentPresenter.Equals方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CalculateChildDesiredWidth
/// <summary>
/// Calculates the width of the child desired.
/// </summary>
/// <param name="child">The child.</param>
/// <param name="parentColumn">The parent column.</param>
/// <param name="finalSize">The final size.</param>
/// <returns>Tuple{System.DoubleSizeSystem.Boolean}.</returns>
private Tuple<double, Size, bool> CalculateChildDesiredWidth(ContentPresenter child, IColumn parentColumn, Size finalSize)
{
var childDesiredWidth = child.DesiredSize.Width;
var finalSizeResult = finalSize;
var desiredWidthCorrected = false;
var lastChild = Children.Last();
if (child.Equals(lastChild) && IsOutermost(child))
{
var permissibleWidth = 0.0;
if (parentColumn == null)
{
var topLevelColumn = child.Content as IColumn;
if (topLevelColumn != null)
{
var owner = topLevelColumn.Owner;
if (owner != null && owner.IsTopLevel)
permissibleWidth = owner.CalculateSpreadsheetWidth();
}
}
var totalDesiredWidth = Children.Sum(x => x.DesiredSize.Width);
if (totalDesiredWidth < permissibleWidth)
{
if (child.DesiredSize.Width.Equals(child.RenderSize.Width))
{
var delta = permissibleWidth - totalDesiredWidth;
childDesiredWidth = child.DesiredSize.Width + delta;
finalSize.Width += delta;
}
else
{
childDesiredWidth = child.RenderSize.Width;
finalSize.Width += (child.RenderSize.Width - child.DesiredSize.Width);
}
var column = child.Content as IColumn;
if (column != null)
column.Width = childDesiredWidth;
desiredWidthCorrected = true;
}
}
return Tuple.Create(childDesiredWidth, finalSizeResult, desiredWidthCorrected);
}