专栏首页我和未来有约会一个最基本的布局控件-panel

一个最基本的布局控件-panel

Silverlight做了两个布局的控件了。

Silverlight控件 - Carrousel Silverlight控件 - ScatterView

所有的东西都是由浅入深的做的,在做这两个控件的时候也摸索了不少东西。这里整理出一个最基本的布局控件:panel 的代码然后从这里出发构建自己的布局控件把。 

using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace CarrouselPanel
{
    public class CarrouselPanel : Panel
    {
        public CarrouselPanel()
            : base()
        {
        }

        protected override Size ArrangeOverride(Size finalSize)
        {
            foreach (UIElement element in base.Children)
            {
                Point location = new Point();
                element.Arrange(new Rect(location, element.DesiredSize));
            }
            return finalSize;
        }

        protected override Size MeasureOverride(Size availableSize)
        {
            foreach (UIElement element in base.Children)
            {
                element.Measure(availableSize);
            }
            base.Clip = new RectangleGeometry { Rect = new Rect(new Point(), availableSize) };
            return availableSize;
        }
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Blend基础-布局控件

    布局 什么是布局? Panels控件(其实就是容器控件) 对内部的子控件提供了自动布局功能 可以在容器控件内继续添加容器控件(一个复杂的界面往往是多种容器控件...

    用户1172164
  • 如何在silverlihgt中使用右键

    一般我们在silverlight中点击右键会出现如下的对话筐. ? ? 在flash中 其提供了一个可定制话的右键菜单系统.(ContextMenu) 这个...

    用户1172164
  • CaseStudy(showcase)布局篇-如何做一个自适应窗口大小的布局

    做silvelight也有一段时间了,相册、游戏,刚刚完成的showcase这个小程序算是一个阶段了。这里就以showcase这个项目来做一下CaseStudy...

    用户1172164
  • MFC ActiveX (ocx)控件的开发

    前言 ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型(COM)。 ActiveX控件是一种实现...

    _gongluck
  • emWin实现ATM机界面设计,含uCOS-III和FreeRTOS两个版本

    第1期:ATM机 配套例子: V6-900_STemWin提高篇实验_ATM机(uCOS-III) V6-901_STemWin提高篇实验_ATM机(FreeR...

    armfly
  • rdo远程桌面管理软件是什么?怎么下载?

    remote desktop organizer中文全称又叫做rdo远程桌面管理工具,和iis7远程桌面管理一样,是一款简单而又实用的远程桌面连接软件,其最大的...

    it妹
  • 如何解决远程桌面连接时提示发生身份验证错误?

    服务器上安装了两台windows server 2016,但是这两天通过远程桌面连接时会提示发送身份验证错误,要求的函数不受支持。经过一番查询,解决了这个问题,...

    战神伽罗
  • 分页控件的使用能不能再简单一点呢,能不能一个页面搞定所有的列表需求?

    目的: 1、一个页面(DataList.aspx)可以显示多个模块的列表功能。      一般是有一个列表需求就需要一个aspx文件,如果有100个列表,...

    用户1174620
  • UI篇-自定义控件之基类UIControl

    UIControl的主要角色是定义一套接口和基础实现,为iOS的人机交互制定了一系列的标准, 为了当确定的事件发生的时候(比如点击了按钮)准备好动作消息(Ac...

    進无尽
  • Flutter质感设计之弹出菜单

    砸漏

扫码关注云+社区

领取腾讯云代金券