TextBox文本框
<TextBox IsReadOnly=”true”/> //只读
<TextBox TextWrapping=”Wrap”/ > //折叠-多行文本
<TextBox MaxLength=”5”/> //最大长度
PasswordBox密码框
<PasswordBox Password=”admin”/>
可空类型(null):引用类型-自定义类、string、大部分的类
不可空类型:值类型(int 、boolean 、decimal小数 、DateTime)
在不可null类型后加?后可以为null DateTime? d1=null;
CheckBox 复选框控件有第三种状态
IsChecked属性表示复选框是否被选中,类型为bool?
if((bool)CheckBox1.IsChecked)
{
MessageBox.Show(“已选中”);
}
RadioButton 单选按钮控件
分组:防止互斥
<RadioButton GroupName=”第一组”/>
DatePicker日期列表(.NET4.5以后)
得到选中的日期:
DateTime? value =datePicker1.SelectedDate;
if(value==null){}
else{MessageBox.Show(value.ToString());}
赋值:
datePicker1.SelectedDate=DateTime.Today;//只包含年月日,Now包含时分秒
Image控件:图片控件
<Image Source=”img/1.jpg”/>
ProgressBar:进度条控件
isIndeterminate是否不确定模式;Maximum最大值;Minimum最小值
Value当前值
proBar1.Value+=10;
<ProgressBar isIndeterminate=”true”/>
页面布局
StackPanel布局
<Grid>
<StackPanel Orientation=”Horizontal”> //子元素纵向排列
<Button.Content>
<Image Source=”1.jpg”/>
</Button.Content>
</StackPanel>
</Grid>
<TextBlock VerticalAlignment=”Center”/> //垂直的对其方式:居中
<TextBlock HorizontalAlignment=”Center”/> //水平居中方式
<TextBlock Margin=”5”/> //距离四周的宽度
Grid布局
<Grod >
<Grid.ColumnDefinitions> //定义两列
<ColumnDefinition Width=”30”/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions> //定义两行
<RowDefinition Height=”50”/>
<RowDefinition/>
</Grid.RowDefinitons>
<Button Grid.Row=”1” Grid.Column=”1”/>
<TextBox BackGround=”Red” Text=”hello” Grid.Column=”2” Grid.Row=”1” Grid.ColumnSpan=”2”/> //占用两列
</Grid>
动态向布局中添加控件:
<StackPanel Name=”sp1” MouseEnter=”sq1_MouseEnter/”>
在容器的鼠标移入事件中:
Button btn1=new Button(); //动态创建控件
btn1.Content=”新增的按钮”;
sp1.Children.Add(btn1); //把控件加入容器父控件的StackPanel
每次鼠标移入容器,自动添加一个button控件
动态生成行和列:
<Grid Name=”gridGame”>
</Grid>
在Window_Loaded事件中
for(int i=0;i<10;i++)
{
ColumnDefinition colDef=new ColumnDefinition();
gridGame.ColumnDefinition.Add(colDef);
RowDefinition rowDef=new RowDefinition();
gridGame.RowDefinition.Add(rowDef);
}
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
Button btn=new Button();
btn.Content=i+”,”+j;
Grid.SetRow(btn,1);//通过代码修改控件的Grid.Row属性
Grid.SetColumn(btn,j);
gridGame.Children.Add(btn);
}
}
将上述button换为图片:
Image img=new Image();
img.Source=new BitmapImage(new Url(“1.jpg”,UrlKind.Relative));
Grid.SetRow(img,i);
Grid.SetColumn(img,j);
gridGame.Children.Add(Image);
随机显示一张图片:
Random random=new random();
int imgName=random.Next(1,10); //生成一个>=1 ,<10的随机数
img.Source=new BitmapImage(new Url(“images/”+imageName+”.jpg”,UrlKind.Relative));
所有的控件都可以New
关于布局的嵌套:
StackPanel 和 Grid 可以自己嵌套或相互嵌套