RowDefinition的Height="*"和 ColumnDefinition的Width="*" 在C#中的写法

简介: ColumnDefinition.Width的数据类型是:GridLength,所以就可以写为: column1.Width = new GridLength(1, GridUnitType.Star); //column1为一个实例 如果ColumnDefinition的Width="Auto"   则在C#代码里就可以写为 column1.

 ColumnDefinition.Width的数据类型是:GridLength,所以就可以写为:

 column1.Width = new GridLength(1, GridUnitType.Star); //column1为一个实例

 如果ColumnDefinition的Width="Auto"   则在C#代码里就可以写为

 column1.Width =GridLength.Auto;

 这里不要搞混了, GridLength.Auto是一个结构,而 new GridLength(1, GridUnitType.Star);是一个类

 

下面来一个完整的布局代码,全部使用C#代码完成(练习的) 

  public  partial  class MainWindow : Window
    {
         public MainWindow()
        {
            InitializeComponent();

             // 显示网格
            grid1.ShowGridLines =  true;

             //
            RowDefinition row1 =  new RowDefinition();
            RowDefinition row2 =  new RowDefinition();

             //
            ColumnDefinition column1 =  new ColumnDefinition();
            ColumnDefinition column2 =  new ColumnDefinition();

             // 使用*号布局,当值为1的时候,表示*  值为2的时候,表示2*  就是说,第二列的宽度是第一列宽度的2倍
            column1.Width =  new  GridLength( 1, GridUnitType.Star); 
            column2.Width =  new  GridLength( 2, GridUnitType.Star);


            Button button1 =  new Button();
            Button button2 =  new Button();
            Button button3 =  new Button();
            Button button4 =  new Button();

             // 将行和列添加到Grid面板里
            grid1.RowDefinitions.Add(row1);
            grid1.RowDefinitions.Add(row2);

            grid1.ColumnDefinitions.Add(column1);
            grid1.ColumnDefinitions.Add(column2);

             // 将按钮添加到Grid面板里
            grid1.Children.Add(button1);
            grid1.Children.Add(button2);
            grid1.Children.Add(button3);
            grid1.Children.Add(button4);

            button1.Content =  " 1 ";
            button2.Content =  " 2 ";
            button3.Content =  " 3 ";
            button4.Content =  " 4 ";

             // 设置每个按钮所在的单元格中
            Grid.SetRow(button1,  0);
            Grid.SetColumn(button1,  0);

            Grid.SetRow(button2,  0);
            Grid.SetColumn(button2,  1);

            Grid.SetRow(button3,  1);
            Grid.SetColumn(button3,  0);

            Grid.SetRow(button4,  1);
            Grid.SetColumn(button4,  1);


        }
    }


 

目录
相关文章
|
8月前
|
XML 存储 编解码
svg的viewBox、width和height的设置说明
svg的是没有边界的,svg画布只是用于展示svg世界中某一个范围的内容,而对于超过了svg画布范围的内容,则会被遮挡。默认svg画布默认显示世界坐标下原点坐标的width*height面积的矩形视野。
|
8月前
|
前端开发
line-height与height的区别
line-height与height的区别
76 0
|
Web App开发 前端开发
给Img标签设置height和width属性
给Img标签设置height和width属性
734 0
IE6下面,为什么不能设置height:1px的元素
在用DIV构建网页的时候,有时候需要的高度很小,这时候就可能会出现问题,因为,IE6下DIV有个默认的高度,大约10-12px。当你试图定义一个高度小于这个默认值的 div 的时候, IE 会固执的认为这个层的高度不应该小于字体的行高。
88 0
|
JavaScript
js中的各种width,height
js中的各种width,height
html+css实战94-内容width和height
html+css实战94-内容width和height
114 0
html+css实战94-内容width和height
|
前端开发
CSS - 行内元素的 padding、margin、width、height、line-height 是否无效?
CSS - 行内元素的 padding、margin、width、height、line-height 是否无效?
530 0
CSS - 行内元素的 padding、margin、width、height、line-height 是否无效?
|
JavaScript 前端开发