zoukankan      html  css  js  c++  java
  • WP7备注(22)(多类型Panel自定义)

    单Cell的Grid自定义

    namespace SingleCellGridDemo
    {
    public class SingleCellGrid : Panel
    {
    protected override Size MeasureOverride(Size availableSize)
    {
    Size compositeSize = new Size();
    foreach (UIElement child in Children)
    {
    child.Measure(availableSize);
    compositeSize.Width = Math.Max(compositeSize.Width,
    child.DesiredSize.Width);
    compositeSize.Height = Math.Max(compositeSize.Height,
    child.DesiredSize.Height);
    }
    return compositeSize;
    }
    protected override Size ArrangeOverride(Size finalSize)
    {
    foreach (UIElement child in Children)
    {
    child.Arrange(new Rect(new Point(), finalSize));
    }
    return base.ArrangeOverride(finalSize);
    }
    }
    }

    Vertical StackPanel自定义:

    protected override Size MeasureOverride(Size availableSize)
    {
    Size compositeSize = new Size();
    foreach (UIElement child in Children)
    {
    child.Measure(new Size(availableSize.Width, Double.PositiveInfinity));
    compositeSize.Width = Math.Max(compositeSize.Width,
    child.DesiredSize.Width);
    compositeSize.Height += child.DesiredSize.Height;
    }
    return compositeSize;
    }
    
    protected override Size ArrangeOverride(Size finalSize)
    {
    double x = 0, y = 0;
    foreach (UIElement child in Children)
    {
    child.Arrange(new Rect(x, y, finalSize.Width, child.DesiredSize.Height));
    y += child.DesiredSize.Height;
    }
    return base.ArrangeOverride(finalSize);
    }
  • 相关阅读:
    L1-012 计算指数
    L1-011 A-B
    L1-010 比较大小
    Django--登录
    Django--跨域设置
    Django--视图装饰器
    Django--URL配置
    Django--多数据库
    Django--channels
    Django--日志
  • 原文地址:https://www.cnblogs.com/otomii/p/2032569.html
Copyright © 2011-2022 走看看