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