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


 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);


        }
    }


 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM