zoukankan      html  css  js  c++  java
  • WPF中的容器控件——StackPanel

    这个容器的意思很简单,就是以堆跌的方式显示其中的东西。实际操作起来却很头疼,第一次看WPF感觉跟flex那一套mxml很像,以下是我第一次研究WPF容器布局中的stack的一点记录,给自己看的:

    怎么堆叠呢? 就好像flex里设置了界面布局的水平布局,竖直布局,结对位置那些属性是一样的,orientation属性就对应这flex里面的那些属性。正式开始:

    一、定义容器内部控件的外边沿(flex要叫组件,WPF要叫控件。)

    1.统一设置:margin=“10”,这意思也就是说,上下左右边沿都是10。

    2.分别设置:madgin=“10,20,30,40”,按顺序左,上,右,下的分别的值。

    3.使用拆分方式设定(意思就是分别设定每个控件):这个就涉及到之前那个书里提到的所谓的“附加属性”,看一下例子。

    <Button content="button1">

      <Button.Margin>

        <Thickness top="10" bottom="20" left="30" right="40"/>   /*这个意思跟分别设置是一样的,只不过这个是针对容器里面的一个控件的,这样很灵活,但也很麻烦*/

      </Button.Margin>

    </Button>

    注意:如果用margin属性达不到效果,那就用老办法,直接设置width,height属性(控件的大小固定之后对窗口的缩放效果很不利,所以视情况而定)。

    二、设置对齐方式

    当控件放到容器里的时候,出了设置margin之外,跟重要的是考虑控件是“挤”在哪边?比如说控件竖直排列的时候,控件是靠朝上面呢?还是线面?

    1.HorizontalAlignment:这个属性的前提是Orientation属性与之对应,可以设置成left,right,center。

    2.VerticalAlignment:这个属性的前提是Orientation属性与之对应,可以设置成top,bottom,center。

    三、控件随窗体大小的改变

       在没有设置控件的大小时控件自适应容器的大小,这样或出现一个不好的情况,当窗口非常大的时候,控件也会变得很大。窗口很小时,控件基本看不见。

    所以可以再控件上引入4个属性:maxwidth、minwidth、maxheight、minheight。再更改窗体的大小时控件随之更改大小,但是有最大值和最小值的限制。

    具体怎么搞,弄个例子试试,例子很简单,不好意思上传啦。提供着:www.kmuser.com

  • 相关阅读:
    JDK源码之Thread 类分析
    java中符号类型和无符号类型的问题分析
    国内高速Maven仓库
    Idea Live Templates代码模板
    正则表达式
    java内存泄漏
    MySQL查看 InnoDB表中每个索引的高度
    ThreadLocalMap里Entry为何声明为WeakReference?
    Java JDBC中,MySQL字段类型到JAVA类型的转换
    MyBatis查询两个字段,返回Map,一个字段作为key,一个字段作为value的实现
  • 原文地址:https://www.cnblogs.com/dagedan/p/2740724.html
Copyright © 2011-2022 走看看