本文整理汇总了C#中UIElement.InvalidateArrange方法的典型用法代码示例。如果您正苦于以下问题:C# UIElement.InvalidateArrange方法的具体用法?C# UIElement.InvalidateArrange怎么用?C# UIElement.InvalidateArrange使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UIElement
的用法示例。
在下文中一共展示了UIElement.InvalidateArrange方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SetScrollOwner
/// <summary>
/// <see cref="IScrollInfo.ScrollOwner"/>
/// </summary>
internal void SetScrollOwner(UIElement owner, ScrollViewer value)
{
if (value != _scrollOwner)
{
// Reset cached scroll info.
_disableHorizonalScroll = false;
_disableVerticalScroll = false;
_offset = new Vector();
_viewport = new Size();
_extent = new Size();
_scrollOwner = value;
owner.InvalidateArrange();
}
}
示例2: SetHorizontalOffset
/// <summary>
/// <see cref="IScrollInfo.SetHorizontalOffset"/>
/// </summary>
internal void SetHorizontalOffset(UIElement owner, double offset)
{
if (!this.CanHorizontallyScroll)
{
return;
}
offset = Math.Max(0, Math.Min(_extent.Width - _viewport.Width, offset));
if (!DoubleUtil.AreClose(offset, _offset.X))
{
_offset.X = offset;
owner.InvalidateArrange();
if (_scrollOwner != null)
{
_scrollOwner.InvalidateScrollInfo();
}
}
}
示例3: SetVerticalOffset
/// <summary>
/// <see cref="IScrollInfo.SetVerticalOffset"/>
/// </summary>
internal void SetVerticalOffset(UIElement owner, double offset)
{
if (!this.CanVerticallyScroll)
{
return;
}
offset = Math.Max(0, Math.Min(_extent.Height - _viewport.Height, offset));
if (!DoubleUtil.AreClose(offset, _offset.Y))
{
_offset.Y = offset;
owner.InvalidateArrange();
if (_scrollOwner != null)
{
_scrollOwner.InvalidateScrollInfo();
}
}
}
示例4: InvalidateArrangeRecursive
static void InvalidateArrangeRecursive(UIElement visual)
{
visual.InvalidateArrange();
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(visual); i++)
{
UIElement element = VisualTreeHelper.GetChild(visual, i) as UIElement;
if (element != null) InvalidateMeasureRecursive(element);
}
}