Using Grid to layout all controls : Grid Row Column « Windows Presentation Foundation « C# / CSharp Tutorial

Home
C# / CSharp Tutorial
1.Language Basics
2.Data Type
3.Operator
4.Statement
5.String
6.struct
7.Class
8.Operator Overload
9.delegate
10.Attribute
11.Data Structure
12.Assembly
13.Date Time
14.Development
15.File Directory Stream
16.Preprocessing Directives
17.Regular Expression
18.Generic
19.Reflection
20.Thread
21.I18N Internationalization
22.LINQ
23.GUI Windows Forms
24.Windows Presentation Foundation
25.Windows Communication Foundation
26.Workflow
27.2D
28.Design Patterns
29.Windows
30.XML
31.XML LINQ
32.ADO.Net
33.Network
34.Directory Services
35.Security
36.unsafe
C# / C Sharp
C# / C Sharp by API
C# / CSharp Open Source
C# / CSharp Tutorial » Windows Presentation Foundation » Grid Row Column 
24.43.16.Using Grid to layout all controls
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;

    class MainClass : Window
    {
        TextBox txtboxBegin = new TextBox();
        TextBox txtboxEnd = new TextBox();
        Label lblLifeYears  = new Label();
        [STAThread]
        public static void Main()
        {
            Application app = new Application();
            app.Run(new MainClass());
        }
        public MainClass()
        {
            SizeToContent = SizeToContent.WidthAndHeight;
            ResizeMode = ResizeMode.CanMinimize;

            Grid grid = new Grid();
            Content = grid;

            for (int i = 0; i < 2; i++)
            {
                RowDefinition rowdef = new RowDefinition();
                rowdef.Height = GridLength.Auto;
                grid.RowDefinitions.Add(rowdef);
            }

            for (int i = 0; i < 2; i++)
            {
                ColumnDefinition coldef = new ColumnDefinition();
                coldef.Width = GridLength.Auto;
                grid.ColumnDefinitions.Add(coldef);
            }
            Label lbl = new Label();
            lbl.Content = "Begin Date: ";
            grid.Children.Add(lbl);
            Grid.SetRow(lbl, 0);
            Grid.SetColumn(lbl, 0);

            txtboxBegin.Text = new DateTime(198011).ToShortDateString();
            txtboxBegin.TextChanged += TextBoxOnTextChanged;
            grid.Children.Add(txtboxBegin);
            Grid.SetRow(txtboxBegin, 0);
            Grid.SetColumn(txtboxBegin, 1);

            lbl = new Label();
            lbl.Content = "End Date: ";
            grid.Children.Add(lbl);
            Grid.SetRow(lbl, 1);
            Grid.SetColumn(lbl, 0);

            txtboxEnd.TextChanged += TextBoxOnTextChanged;
            grid.Children.Add(txtboxEnd);
            Grid.SetRow(txtboxEnd, 1);
            Grid.SetColumn(txtboxEnd, 1);

            Thickness thick = new Thickness(5)// ~1/20 inch.
            grid.Margin = thick;

            foreach (Control ctrl in grid.Children)
                ctrl.Margin = thick;

            txtboxBegin.Focus();
            txtboxEnd.Text = DateTime.Now.ToShortDateString();
        }
        void TextBoxOnTextChanged(object sender, TextChangedEventArgs args)
        {
            Console.WriteLine(txtboxBegin.Text);
            lblLifeYears.Content = "string";
        }
    }
24.43.Grid Row Column
24.43.1.ColumnDefinition.Width=AutoColumnDefinition.Width=Auto
24.43.2.ColumnDefinition.Width=*ColumnDefinition.Width=*
24.43.3.Bind to Grid Width and HeightBind to Grid Width and Height
24.43.4.Grid with Column Definition and Row definitionGrid with Column Definition and Row definition
24.43.5.Define rows / columns for GridDefine rows / columns for Grid
24.43.6.Using Grid.ColumnSpanUsing Grid.ColumnSpan
24.43.7.Set Grid Row Height and Column Width to AutoSet Grid Row Height and Column Width to Auto
24.43.8.Mixing row height stylesMixing row height styles
24.43.9.Set Column and Row index when adding Controls to a GridSet Column and Row index when adding Controls to a Grid
24.43.10.Empty RowDefinition and ColumnDefinitionEmpty RowDefinition and ColumnDefinition
24.43.11.Automatic Width and HeightAutomatic Width and Height
24.43.12.Span The Cells
24.43.13.Split Grid
24.43.14.Add controls to a Grid with loop
24.43.15.Set Grid Margin
24.43.16.Using Grid to layout all controls
24.43.17.Add control to specific row and column
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.