wpf瀑布流布局

本文介绍了一位开发者在尝试实现WPF瀑布流布局时遇到的困难,最终从WinPhone瀑布流布局文章中获得灵感,并在实践中解决了最大化、最小化和窗口快速拖动时布局无法及时刷新的问题。文章提供了修复后的自定义瀑布流控件的效果图。
摘要由CSDN通过智能技术生成

之前看了很多的WPF瀑布流布局,无奈自己太笨,多次实践都失败了,最后再cnblog中看到一篇关于WinPhone中的瀑布流布局的文章(http://www.cnblogs.com/Smallcode/archive/2012/10/19/2730810.html),受到启发,放到自己的项目中,却还是发现不少问题,没办法,实在是再找不到了,只能硬着头皮试试改了,没想到还成功了。

 如题,这个修复了一些BUG,包括最大化,最小化,及快速拖动窗口时,布局界面不能及时刷新。
  先看一下效果图:

         

自定义瀑布流控件:

// ***********************************************************************
// Assembly         : ISmart
// Author           : Snail
// Created          : 08-13-2014
//
// Last Modified By : Snail
// Last Modified On : 08-18-2014
// ***********************************************************************
// <copyright file="CustomPanel.cs" company="">
//     Copyright (c) . All rights reserved.
// </copyright>
// <summary>自定义瀑布流布局面板,在所有子项宽度都统一的情况的下,实现瀑布流布局</summary>
// ***********************************************************************
 
using System;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
 
namespace ISmart.CustomControl
{
    /// <summary>
    /// 自定义瀑布流布局面板
    /// </summary>
    public class CustomPanel : Panel
    {
        #region 构造函数
        /// <summary>
        /// Initializes a new instance of the <see cref="CustomPanel"/> class.
        /// </summary>
        public CustomPanel()
        {
            //根据列数,实例化用来存放每列高度的数组
            ColumnHeight = new double[ColumnCount];
        }
 
        #endregion 构造函数
 
        /// <summary>
        /// 每列的高度
        /// </summary>
        public static double[] ColumnHeight;
 
        /// <summary>
        /// 列数
        /// </summary>
        /// <value>The column count.</va
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值