博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
silverlight ItemTemplate和ItemPanel实例
阅读量:6909 次
发布时间:2019-06-27

本文共 2827 字,大约阅读时间需要 9 分钟。

先定义一个Panel。好让下面的演示:

using System.Windows.Controls;using System.Windows;namespace Class3Samples{    public class CyclePanel : Panel    {        protected override System.Windows.Size ArrangeOverride(System.Windows.Size finalSize)        {            int count = this.Children.Count;            Point center = new Point(finalSize.Width / 2, finalSize.Height / 2);            for (int i = 0; i < count; i++)            {                Rect rect = new Rect();                switch (i % 4)                {                    case 0:                        rect = new Rect(center.X - 15 - (i / 4 + 1) * 50,                                         center.Y - 10,                                        30, 20);                        break;                    case 1:                        rect = new Rect(center.X - 15,                                        center.Y - 10 - (i / 4 + 1) * 50,                                        30, 20);                        break;                    case 2:                        rect = new Rect(center.X - 15 + (i / 4 + 1) * 50,                                        center.Y - 10,                                        30, 20);                        break;                    case 3:                        rect = new Rect(center.X - 15,                                        center.Y - 10 + (i / 4 + 1) * 50,                                        30, 20);                        break;                    default:                        break;                }                this.Children[i].Arrange(rect);            }            return base.ArrangeOverride(finalSize);        }        protected override Size MeasureOverride(Size availableSize)        {            foreach (UIElement child in Children)            {                child.Measure(new Size(availableSize.Width, availableSize.Height));            }            return base.MeasureOverride(availableSize);        }    }}

 

前台XAML:

 

在blend中的设计图:

Template 具体参见上一个日记。

转载于:https://www.cnblogs.com/eagle1986/archive/2012/08/05/2623560.html

你可能感兴趣的文章
nio Selector 阻塞 唤醒 原理
查看>>
左旋转字符串
查看>>
android StringBuffer类的使用
查看>>
JSP/Servlet及相关技术详解(二)
查看>>
自动点胶机点胶不良率高是什么原因?
查看>>
Win2003中配置FTP服务,开启防火墙导致客户端无法连接【精华详解】
查看>>
【云计算】Linux从入门到精通
查看>>
oracle 解锁用户
查看>>
Hibernate与Mybatis/iBatis的区别
查看>>
Java源码学习之:Semaphore
查看>>
林仕鼎谈架构设计与架构师
查看>>
操作系统CnetOS_7—systemd管理实践指南
查看>>
cocos2d-x滚屏简单实现
查看>>
我的友情链接
查看>>
ThinkPHP的where方法的in操作符说明
查看>>
Maven的依赖
查看>>
MySQL 5.5 安装方法 详细图解
查看>>
也谈教育公平与户籍改革
查看>>
我的友情链接
查看>>
读Zepto源码之样式操作
查看>>