uwp通用应用重写列表面板控件

MyPanel.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.Foundation;
using Windows.UI.Xaml.Controls;

namespace App1
{
    public class MyPanel : Panel
    {
        protected override Size MeasureOverride(Size availableSize)
        {
            if (Children.Count > 0)
            {
                double yy = 0d;
                double ww = 0d;
                foreach (var u in Children)
                {
                    u.Measure(availableSize);
                    Size dssize = u.DesiredSize;
                    yy += dssize.Height;
                    ww = dssize.Width > ww ? dssize.Width : ww;
                }
                return new Size(ww, yy);
            }
            return availableSize;
        }
        protected override Size ArrangeOverride(Size finalSize)
        {
            double y = 0d;
            foreach (var u in Children)
            {
                u.Arrange(new Rect(0d, y, u.DesiredSize.Width, u.DesiredSize.Height));
                y += u.DesiredSize.Height;
            }
            return finalSize;
        }
    }
}

原文地址:https://www.cnblogs.com/maoriaty/p/9065247.html

时间: 2024-10-13 21:30:36

uwp通用应用重写列表面板控件的相关文章

Android UI设计之<十一>自定义ViewGroup,打造通用的关闭键盘小控件ImeObserverLayout

转载请注明出处:http://blog.csdn.net/llew2011/article/details/51598682 我们平时开发中总会遇见一些奇葩的需求,为了实现这些需求我们往往绞尽脑汁有时候还茶不思饭不香的,有点夸张了(*^__^*)--我印象最深的一个需求是在一段文字中对部分词语进行加粗显示.当时费了不少劲,不过还好,这个问题最终解决了,有兴趣的童靴可以看一下:Android UI设计之<六>使用HTML标签,实现在TextView中对部分文字进行加粗显示. 之前产品那边提了这样

我的开源框架之面板控件

需求: (1)可伸缩.扩大.缩小 (2)可自定义工具栏(依赖工具栏控件),工具栏可定义位置 (3)可加装远程数据 实现图例 客户代码 function addMoreTools() { var toolbar = panel.panel("getToolbar"); toolbar.toolbar('addButtons', [ { id: 'btn_5', text: '按钮5', iconCls: 'icon-edit', handler: function () { alert(

win32 sdk列表视图控件两个重要的结构体

列表视图控件是一种非常常用的控件,在需要以报表形式显示数据时,列表控件通常是最好的选择,许多专用的数据报表控件,也是在它的基础上派生而来.与树视图类似,列表控件可以由多个子项目组成,可以设置为Icon(大图标).SmallIcon(小图标).List(列表)或Report(报表). 一.列表视图控件有两个重要的数据结构LVCOLUMN和LVITEM.LVCOLUMN用于定义报表方式下的“列”的结构:LVITEM用于定义“项”的结构.这两个结构的定义及说明如下: typedef struct _L

spry可折叠式面板控件

关于可折叠面板构件 可折叠面板构件是一个面板,可将内容存储到紧凑的空间中.用户单击构件的选项卡即可隐藏或显示存储在可折叠面板中的内容.下例显示一个处于展开和折叠状态的可折叠面板构件: 可折叠面板构件的 HTML 中包含一个外部 div 标签,其中包含内容 div 标签和选项卡容器 div 标签.在可折叠面板构件的 HTML 中,在文档头中和可折叠面板的 HTML 标记之后还包括脚本标签. 有关可折叠面板构件工作方式的更全面的说明(包括可折叠面板构件代码的全面分析),请访问 www.adobe.c

第02讲集合类和列表类控件

集合 有了数组为什么还要集合: 数组是固定长度的,集合长度可变(因此,适应场景不同) 同时存储一对一关系的数据 方便增删改查 不能添加重复数据(如set中) Collection Map 接口 HashMap List Queue Set ArrayList LinkedList HashSet 类 Collection存储类的对象,Map存储键值对. List和Queue存储的对象是有序的,允许重复的,可以为null:Set中存储的对象是无序的,不允许重复的,只能有一个为null. Array

win32 sdk 列表视图控件绘制

[cpp] view plaincopy ////////////////////////////////////////////////////////////// LRESULT ListViewCustomDraw(HWND hwnd, LPARAM lParam) { LPNMHDR pnmh = (LPNMHDR) lParam; if (pnmh->code != NM_CUSTOMDRAW) return 0; LPNMLVCUSTOMDRAW lpNMCustomDraw = (

ExtJs4 笔记(9) Ext.Panel 面板控件、 Ext.window.Window 窗口控件、 Ext.container.Viewport 布局控件 (转 )出处:[Lipan] (http://www.cnblogs.com/lipan/)

本篇讲解三个容器类控件. 一.面板控件 Ext.Panel 一个面板控件包括几个部分,有标题栏.工具栏.正文.按钮区.标题栏位于最上面,工具栏可以在四个位置放置,围绕中间部分正文,按钮区位于最小方.下面介绍几个基本配置项: 1.title:设置面板标题文本. 2.tbar,lbar,rbar,bbar:分别设置上.左.右.下四个部位的工具栏. 3.html,items:前者用来设置正文部分的html,后者设置正文部分的ext控件. 4.buttons:设置按钮区的按钮. 下面看看面板生成代码:

CListBox(列表框)控件

CListBox(列表框)控件 CListBox类常用成员 CListBox插入数据 CListBox删除数据 CListBox运用示例     一.CListBox类常用成员 CListBox::ResetContent//清空组合框内容 void ResetContent( );   CListBox::AddString//添加lpszString 至组合框尾部 int AddString( LPCTSTR lpszString );   CListBox::DeleteString//删

Delphi 7下使用VT实现树型列表结合控件

Delphi 7下使用VT实现树型列表结合控件