黑马程序员_WPF_练习Grid布局

来源:互联网 发布:淘宝卖家好评返现话术 编辑:程序博客网 时间:2024/06/01 21:21

 ------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------

今天学习了杨中科老师的WPF教程,才知道原来拖拖控件连入门都不算,于是我果断地把课后题做了:

题目:用Grid布局这样一个计算器界面,纯代码。



这是我的成果。。。。XP界面果然没有Win8的好看。。。。



源码如下:

1.首先在xaml文件中添加一个Grid:

 <Grid Name="grid_calc"></Grid>

2.在窗体的加载事件中加入源码:

private void Window_Loaded(object sender, RoutedEventArgs e)        {            //画格子            for (int i = 0; i < 5;++i )            {                ColumnDefinition coldef=new ColumnDefinition();                grid_calc.ColumnDefinitions.Add(coldef);            }            for (int i = 0; i < 8; ++i)            {                RowDefinition coldef = new RowDefinition();                grid_calc.RowDefinitions.Add(coldef);            }            string[] strShow = new string[]{"MC","MR","MS","M+","M-",                                            "←","CE","C","+-","√",                                            "7","8","9","/","%",                                            "4","5","6","*","1/x",                                            "1","2","3","-"};             for (int i=0;i<strShow.Length;++i)            {                Button btn=new Button();                btn.Content=strShow[i];                Grid.SetColumn(btn,i%5);                Grid.SetRow(btn, 2 + i / 5);                btn.Margin = new Thickness(5);                grid_calc.Children.Add(btn);            }            {                Button btn = new Button();                btn.Content = "=";                Grid.SetColumn(btn,4);                Grid.SetRow(btn,6);                Grid.SetRowSpan(btn, 2);                btn.Margin = new Thickness(5);                grid_calc.Children.Add(btn);            }            {                Button btn = new Button();                btn.Content = "0";                Grid.SetColumn(btn, 0);                Grid.SetRow(btn, 7);                Grid.SetColumnSpan(btn, 2);                btn.Margin = new Thickness(5);                grid_calc.Children.Add(btn);            }            {                Button btn = new Button();                btn.Content = ".";                Grid.SetColumn(btn, 2);                Grid.SetRow(btn, 7);                btn.Margin = new Thickness(5);                grid_calc.Children.Add(btn);            }            {                Button btn = new Button();                btn.Content = "+";                Grid.SetColumn(btn, 3);                Grid.SetRow(btn, 7);                btn.Margin = new Thickness(5);                grid_calc.Children.Add(btn);            }            {                TextBlock txtbox = new TextBlock();                txtbox.FontSize = 50;                txtbox.TextAlignment = TextAlignment.Right;                txtbox.Margin = new Thickness(5);                txtbox.Text = "0.00";                Grid.SetColumnSpan(txtbox, 5);                Grid.SetRowSpan(txtbox, 2);                grid_calc.Children.Add(txtbox);            }        }