?
快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

湖南丫丫麻将辅助:yth206游艇会:WPF使用自定义Panel更好地控制Resize时的行为——之二

?

长沙转转麻将必胜口诀 www.fv7j.com.cn 斟酌下面这样的界面结构。

对付这个小窗口而言,器械少??梢园汛翱诙ㄊ攀涝?00*300这样。然则假如这个表单是属于一个大年夜窗体的一个部分?;肪尘投哉辗痹恿?。

我们并不能把窗口定逝世大年夜小。由于窗口有可能会必要在1920*1200到102yth206游艇会4*768等不合的分辨率下运行。这样这个表单在不合环境下的大年夜小就有可能有很大年夜的区别。

一个对照好的规划是,当窗口变小,第一行放不下所有控件时?;坏降诙?。当窗口变大年夜,第一行有多余地方时,把第二行的内容放在第一行上,使界面的右边不留空缺。

有人会大年夜叫这不便是WrapPanel做的工作吗?没有错,然则WrapPanel的每一行都是左对齐的,右边会有大年夜片的留白,这在想要设计有优越用户体验的软件中,是弗成吸收的。

也便是说WPF自带的WrapPanel没有处置惩罚好下面这种环境。

第一行有多余的空间,然则又不够以把第二行的什么控件放上来。

这时,第一行的现有的控件应该充分使用第一行的所有可用空间,把第一行填满。这个是用WrapPanel做不到的。WrapPanel主要用于内部的Item的大年夜小基础一样的环境。假如大年夜小不一yth206游艇会,WrapPanel就会造成不好的用户体验?;共蝗缬肎rid做等比例缩放好。

很可惜,现在我们又要自己写一个WrapPanel了。如下图所示。

图1. FillWrapPanel Demo

在这个Panel里的所有的Button都有 20的MinWidthyth206游艇会和55的MaxWidth。并特意为3号Button设置了30的MaxWidthyth206游艇会,为6号Button设置了100的MaxWidth。我们来看一下这个Panel在Resize时的行径。

图2. 再小就要换行了(原则是让所有控件都尽可能大年夜,然则右边又不能留白)

图3. 缩到6号Button

图4. 缩到4号Button

图5. 最小

假如用WPF的WrapPanel呢?结果很简单。

图6. WPF的WrapPanel(Item的大年夜小是确定的,不会变更,而且右边会留白)

系统的WrapPanel很适于实现Explorer里浏览文件、文件夹或是看图软件的缩略图模式。而本文中先容的FillWrapPanel更适于实现类似表单的窗体。由于里面的器械大年夜小很yth206游艇会可能是各不相同的。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: