学习传智播客WPF基础视频,总结
XAML文件:注释 闭合<Button> <Button.Height>50</Button.Height> </Button> 123
自闭合,简写
<Button Height="50" /> 1 ctrl+j,可以在编写xaml文件时,智能提示TextBox当设置isReadOnly属性为true时,不可更改里面的内容,但是可以复制,这是与TextBlock的区别;TextWrapping属性,表示是否自动换行,wrap自动换行,Nowrap不自动换行string s="";//表示s指向长度为0 的字符串
string s=null;//表示s没有指向字符串button 的content放图片,Margin属性是设置到四周的空隙
<Button Margin="0,0,2,3"> <Button.Content> <Image source="1.jpg"></Image> </Button.Content> </Button> 12345 checkBox.IsChecked 是bool?类型(可空的bool类型),可以这样写判断
if(checkBox.IsChecked==true) 或者if((bool)checkBox.IsChecked)RadioButton 有个属性GroupName,可以设置组名,由此来分组时间选择框:DatePicker
取值:DateTime? t=DatePicker.SelectedDate;//也可用这个属性赋值DateTime.Now 当前时刻;DateTime.Today 当前日期,不包含时分秒
10.Image属性Source指向图片来源,可以直接写ProgressBar 属性IsIndeteminate(不确定模式)设为true时,这个控件中的滚动条就是一直滚动的方式PasswordBoxMenu 菜单控件,MenuItem是子项,Header可以定义子项显示的内容,Name名字ToolBar 工具栏控件,可以直接在里面加控件,但是有些控件的外观会被ToolBar改变Window 属性:Title标题 ResizeMode=“NoResize” WindowStartupLocation=“CenterScreen” ;当窗口是以ShowDialog()显示出来的话,可以在窗口中給DialogResult赋值,这样窗口会自动关闭,而且会把赋值返回页面布局
1)StackPanel 让里面的控件以横向或纵向固定排列
<StackPanel Orientation="Horizontal"> <Button content="1" /> <Button content="2" /> </StackPanel> //想让button的content显示图片又显示文字 <Button Margin="0,0,2,3"> <Button.Content> <StackPanel Orientation="Horizontal"> <Image source="1.jpg"/> <TextBlock Text="haha" VerticalAlignment="Center"/> </StackPanel> </Button.Content> <!--button.content的内容可以简化为: <Image source="1.jpg"/> --> </Button> 1234567891011121314
代码实现StackPanel中添加控件
stackPanel.Children.Add(btn); 1 Grid :更改窗口大小时,内部的控件可以很好的缩放
设计Grid两行两列,写入button控件和image控件,让image控件占两列
<Grid> <Grid.ColumnDefinitions> <ColumnDefinition></ColumnDefinition> <ColumnDefinition Width="30"></ColumnDefinition> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="50"></RowDefinition> <RowDefinition></RowDefinition> </Grid.RowDefinitions> <Button Grid.Row="1" Grid.Colunm="1" /> <Image Source="1.jps" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" /> </Grid> 123456789101112
代码实现grid添加行列,添加image控件
ColumnDefinition colDef = new ColumnDefinition(); gridGame.ColumnDefinitions.Add(colDef); RowDefinition rowDef = new RowDefinition(); gridGame.RowDefinitions.Add(rowDef); img.Source = new BitmapImage(new Uri("1.jpg",UriKind.Relative)); //在xaml中可以这样写"1.jpg",因为xaml自动做了处理,但是自己写代码不行 //下面设置图片的位置 Grid.SetRow(img, i); Grid.SetColumn(img, j); gridGame.Children.Add(img);//若不指定位置,默认都是在第0行第0列 12345678910
3) DockPanel 让里面的控件可以使用DockPanel(附加属性)来设置控件的位置