本笔记主要描述我在学习wpf开发中遇到的一些具体的问题,以及处理方法,以便于日后使用找到相应的依据。
添加窗口加载事件:
鼠标选择窗口,点击界面右下角的事件选项,找到loaded,然后写代码。其他事件类似。
RadioButton
给RadioButton分组,给分在同一组的空间写相同的分组名:GroupName = "XXX";
DatePicker
获取值
声明变量获取值,然后判断变量是否为空,然后打印
赋值
直接给空间的相应属性赋值
Image
指定图片路径,用Source="XX/XX.jpg"
图片的动态路径:
string picFileName = "XXX";
image1.Source = new BitmapImage(new Uri(picFileName));
ProgressBar
Indeterminate模式意思进度条没有具体的值,无限滑动的一种状态。
StackPanel
为纵向排列
为横向排列
Grid
定义行和列以及定义表格里面的子控件的方法
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</RowDefinitions>
</Grid>
定义跨行或者列添加属性
Grid.ColumnSpan="2"
Grid.RowSpan="2"
还可以通过代码动态生成行和列:new对象就可以了
通过代码修改空间的Grid.Row属性
Grid.SetRow(btn,2)
通过代码动态添加Image
Image img = new Image();
img.Source = new BitmapSource(new Uri("XX.jpg",Relative));
Grid.SetRow(img,i);
Grid.SetColumn(img,j);
gridGmae.Children.Add(img);
DockPanel
剩下的元素填充满:LastChildFill="True"
菜单Menu
<Menu>
<MenuItem Header="文件">
<MenuItemHeader="打开"></MenuItem> //子菜单
</MenuItem>
<MenuItemHeader="编辑"></MenuItem>
</Menu>
工具栏ToolBar
直接的工具区域
在ToolBar里会改变控件的长相或者操作方式,使其更灵活,例如word或者vs的软件。
添加新窗口
项目添加新窗口。
然后在事件中new新窗口并执行窗口的ShowDialog方法。
ShowDialog方法是一个阻塞的方法,
启动默认窗口
在App.xaml文件中修改 StartupUri="MainWindow.xaml"的内容就可以修改初始的启动窗口啦。
窗口默认居中
WindowStartupLocation="CenterScreen"
使其无法修改窗口大小
ResizeMode="NoResize"
让窗口默认最大化显示
WindowState="Maximized"
窗口之间传值通过窗口类的属性
窗口关闭自己
1、直接用Close()方法,窗口就关闭了
2、如果窗口是用ShowDialog的方法打开的并给DialogResult赋值,会关闭窗口,并把DialogResult的属性值返回给ShowDialog方法。 注意:这个属性值是可空的bool类型。该方法可用来判断弹出窗口返回的方式,如确定和取消。
MessageBox
MessageBox.Show()方法有很多的重载方法,返回值类型为MessageBoxResult。通过返回值的判断,可以实现主要的弹出窗口效果。
打开文件对话框OpenFileDialog
小提示:可用解析类名的方法找到相应的命名空间
新建该窗口ShowDialog()方法的返回值文件操作结果。
OpenFileDialo类还有很多属性,可以设置默认路径。
文件过滤器实现:通过叫做Filter的属性来设置。
如:old.Filter = "文本文件|*.txt|图片|*.jpg"
该过滤器的语法为:没两个竖线为一组。前面是描述符,后面是通配符。
保存文件对话框SaveFileDialog
其他操作和打开类似,保存文件的后缀名会自动添加。
滚屏控件
ScrollViewer