黑马程序员——WPF笔记
来源:互联网 发布:英雄联盟网络断开连接 编辑:程序博客网 时间:2024/06/06 16:56
WPF笔记
Asp.net 网页界面设计
Wpf 桌面程序界面设计
Asp.net不是仅仅拖界面
技术难度一样,做出来的东西多(wpf)
事件(event) 被打……,被动的
mouseEnter事件 鼠标进入
mouerLeave事件鼠标离开
Loaded事件 控件加载事件,程序初始化
Clicked事件 鼠标点击事件
Closed 事件 窗口关闭事件
多个控件可应用同一个事件
控件的方法,当调用控件的时候执行的动作 打……,主动的
l 获得焦点 txtbox.focus(); //让txtbox执行focus这个方法,是txtbox获得焦点
l
Sender 指的是触发事件的控件,都是object类的
属性赋值的两种方法
Button
Checkbox
Textblock
Textbox
页面布局
1 Stackpanel布局
把元素从上到下一次布局;用Orientation="Horizontal"可设置为从左到右依次布局
控件内容设置:
<Button>
<Button.Content>
<Image Source="d:\documents\visual studio 2010\Projects\WpfApplication1\WpfApplication1\暴?风?截?图?2013611135187830.jpg"></Image>
</Button.Content>
</Button>
在按钮上放多个控件当做内容的方法是:先放一个stackpanel,在往stackpanel里面放东西
页面布局中的:水平布局是VerticalAlignment="Center"(水平居中)
垂直布局是HorizontalAlignment="Center"(垂直居中)
2、Grid布局
分行和列的方法
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
</Grid>
分列的方法
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
往里面放控件
<Image Grid.Row=" 1" Grid.Column=" 1"></Image> //一行一列
占多行多列的方法
Grid.RowSpan=" 2" 两行
Grid.ColumnSpan =" 2"两列
往父控件中加入子控件
gridGame.Children.Add(btn);
连连看
动态生成行和列
for (int i = 0; i < 3; i++)
{
ColumnDefinition columnDef = new ColumnDefinition();
gridGame.ColumnDefinitions.Add(columnDef);
RowDefinition rowDef = new RowDefinition();
gridGame.RowDefinitions.Add(rowDef);
}
//往生成的表格内放控件
for (int j = 0; j < 3; j++)
{
Button btn = new Button();
string str = string.Format("{0},{1}", i, j);
btn.Content = str;
Grid.SetColumn(btn,i); 分配行和列
Grid.SetRow(btn, j);
gridGame.Children.Add(btn);
}
图片属性赋值
image.Source =new BitmapImage(new Uri(“路径",UriKind .RelativeOrAbsolute ));
禁止改变窗口大小
ResizeMode="NoResize"
布局可以互相嵌套
菜单
普通菜单menu和上下文菜单contextmenu
菜单定义
<menu>
<menuItem header=”文件”> //菜单内容
<menuItem>
</menuItem>//三级菜单
</menuItem>
<menuItem>
</menuItem>
</menu>
放在窗口顶端的方法
1、把菜单代码放在stackpanel中
<stackpanel>
<menu>
<menuItem header=”文件”> //菜单内容
<menuItem>
</menuItem>//三级菜单
</menuItem>
<menuItem>
</menuItem>
</menu>
</stackpanel>
2、可以放在dockpanel中,设置dockpanel.dock=”top”
<dockpanel>
<menu dockpanel.dock=”top”>
<menuItem header=”文件”> //菜单内容
<menuItem>
</menuItem>//三级菜单
</menuItem>
<menuItem>
</menuItem>
</menu>
</dockpanel>
工具条 toolbar
作用:执行快捷操作
<DockPanel>
<Menu DockPanel.Dock="Top" >
<MenuItem Header="文件">
<MenuItem Header="打开a"></MenuItem>
</MenuItem>
<MenuItem Header="编辑-"></MenuItem>
<MenuItem Header="退出"></MenuItem>
</Menu>
<ToolBar DockPanel.Dock="Top" >
<Button Content="打开a"></Button>
<Button Content="关闭"></Button>
<TextBox></TextBox>
</ToolBar>
<TextBox DockPanel.Dock="Bottom" ></TextBox>
</DockPanel>
多窗口
一个项目中有多个窗口||打开新窗口
在其中的一个窗口的代码中添加
NewWindow newwindow=New NewWindow();
newwindow.ShowDialog(); //可以调出新窗口
- StartupUri 属性可以设置启动窗口
StartupUri=“newwindow.xaml”;
- Close()方法可以关闭一个窗口 this.close();
- 禁止改变窗口大小
- 设置resize属性: ResizeMode="NoResize";
- 把窗口的初始位置放在屏幕正中央 设置 WindowStartupLocation="CenterScreen"属性
- 把窗口的初始大小为全屏 WindowState="Maximized" 默认最大化
窗体间传值
DialogResult = true;//如果窗口是用showdialog打开的,则给DialogResult会自动关闭窗口,并且把DialogResult的属性值通过ShowDialog方法的返回值返回
---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------- 黑马程序员——WPF笔记
- 黑马程序员——wpf数据绑定控件笔记
- 黑马程序员_学习笔记2——wpf计算器
- 黑马程序员——wpf基础
- 黑马程序员—WPF项目实录1
- 黑马程序员_学习笔记3——wpf提示框
- 黑马程序员————WPF基础
- 黑马程序员——WPF学习第一天!!
- 黑马程序员——wpf常用控件常用属性
- 黑马程序员—关于WinForm和WPF的一些不同点
- 黑马程序员—反射笔记
- 【黑马程序员】wpf
- 黑马程序员——HTML学习笔记
- 黑马程序员笔记——委托
- 黑马程序员——多线程学习笔记
- 黑马程序员——HTML学习笔记
- 黑马程序员09——异常笔记
- 黑马程序员15——多线程笔记
- 顺序排序
- 新买的mac笔记本,发现vi编辑器没有颜色的解决方案
- 2012年国内外IT会议盘点:32场 近千演讲PPT免费下载
- 黑马程序员学习日记(1)--初学多线程
- 快速幂求A^BmodC
- 黑马程序员——WPF笔记
- Dlephi7 Locate Expression Expected but Nothing found
- 翻译"MySpace"蠕虫原理
- 普通充电器充三星\苹果产品兼容问题
- 搭建Cocos2d-x的C++开发环境
- 中文编码杂谈
- struts 2中为什么抽象包不能包含action?
- 虚函数表分析
- 用过Retina视网膜屏幕的笔记本电脑的后果