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