当前位置: 首页>>代码示例>>C#>>正文


C# UIElement.MeasureOverride方法代码示例

本文整理汇总了C#中UIElement.MeasureOverride方法的典型用法代码示例。如果您正苦于以下问题:C# UIElement.MeasureOverride方法的具体用法?C# UIElement.MeasureOverride怎么用?C# UIElement.MeasureOverride使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在UIElement的用法示例。


在下文中一共展示了UIElement.MeasureOverride方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ScheduleReArrangeIfNeeded

        private void ScheduleReArrangeIfNeeded(UIElement child)
        {
            bool isScheduled;
            if (this.isChildRearrangeScheduled.TryGetValue(child, out isScheduled) && isScheduled)
            {
                return;
            }

            this.isChildRearrangeScheduled[child] = true;

            this.Dispatcher.BeginInvoke(
                delegate
            {
                try
                {
                    if (child.measuredFor != null)
                    {
                        var measuredSize = child.MeasureOverride(child.measuredFor.Value);
                        if (child.arrangedSize == measuredSize)
                        {
                            child.Arrange(new RectangleF(child.TranslatePoint, child.arrangedSize));
                            return;
                        }
                    }

                    this.needsResizeChilds.Add(child);
                    this.InvalidateMeasure();
                }
                finally
                {
                    this.isChildRearrangeScheduled[child] = false;
                }
            });
        }
开发者ID:evnik,项目名称:UIFramework,代码行数:34,代码来源:StackPanel.cs

示例2: ArrangeChild

        private void ArrangeChild(UIElement child)
        {
            if (child.NativeUIElement != null)
            {
                SizeF needSize = new SizeF();
                if (this.childSizeCache.ContainsKey(child))
                {
                    needSize = this.childSizeCache[child];
                }
                else
                {
                    needSize = child.MeasureOverride(new SizeF(nfloat.PositiveInfinity, nfloat.PositiveInfinity));
                    this.childSizeCache[child] = needSize;
                }

                child.Arrange(new RectangleF((nfloat)Canvas.GetLeft(child), (nfloat)Canvas.GetTop(child), needSize.Width, needSize.Height));
            }
        }
开发者ID:evnik,项目名称:UIFramework,代码行数:18,代码来源:Canvas.cs


注:本文中的UIElement.MeasureOverride方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。