一.菜单Menu与DockPanel
<Grid>
<DockPanel>
<Menu Height="23" HorizontalAlignment="Left" Name="menu1" VerticalAlignment="Top" Width="200" DockPanel.Dock="Top">
<MenuItem Header="文件">
<MenuItem Header="新建"></MenuItem>
<MenuItem Header="打开" Name="miOpen" Click="miOpen_Click">
<MenuItem Header="1.jpg"></MenuItem>
<MenuItem Header="2.jpg"></MenuItem>
<MenuItem Header="3.jpg"></MenuItem>
</MenuItem>
<MenuItem Header="保存" Name="miSave" Click="miSave_Click"></MenuItem>
</MenuItem>
<MenuItem Header="编辑">
<MenuItem Header="复制"></MenuItem>
<MenuItem Header="粘贴"></MenuItem>
</MenuItem>
<MenuItem Header="视图"></MenuItem>
</Menu>
</DockPanel>
</Grid>
二.工具条控件(Toolbar)
上图工具栏里面的工具比菜单中实现相同功能的操作更简便
Button里面放图片,可以有两种方式(正常来是属于下面第一种,但是也只有button可以直接放Image,工具条中的图片两种格式:png和ico)
<Grid>
<DockPanel>
<Menu DockPanel.Dock="Top" Height="30">
<MenuItem Header="文件"></MenuItem>
<MenuItem Header="编辑"></MenuItem>
</Menu>
<ToolBar DockPanel.Dock="Top" Height="30">
<Button>
<Button.Content>
<Image Source="images/2.png"></Image>
</Button.Content>
</Button>
<Button>
<Image Source="images/1.png"></Image>
</Button>
</ToolBar>
<TextBox DockPanel.Dock="Bottom"></TextBox>
</DockPanel>
</Grid>
三.多窗体
1.如何创建新窗体,新窗体名字以*******Window.xaml为宜;
2.如何更改起始窗体,在App.xaml中 StartupUri="MainWindow.xaml"处修改;
3.如何让某窗体在打开的时候自适应最大全屏,在某窗体的Xaml中,Window中,
WindowState=”Maximized”;
4.如何更改某窗体的名称,在某窗体的Xaml中,Window中,Title=”MainWindow”
5.如何弹出新窗体并传参//窗体从本质上去研究会发现窗体也是类,同样可以定义属性,通过属性传递参数是可以的。
private void op_Click(object sender, RoutedEventArgs e)
{
string name = this.txt_Main.Text;
AboutWindow about = new AboutWindow();
about.Username = name;
about.ShowDialog();
}
6.如何让新弹出的窗体实现屏幕居中,并且大小固定,不可更改则在新窗体的Xaml中,Window中,ResizeMode="NoResize" WindowStartupLocation="CenterScreen"
7.窗体之间传值,都是通过窗体该类的属性进行传值的;
四.Openfiledalog 与Savefiledalog
private void button1_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "文本文件|*.txt|图片|*.jpg";
if (ofd.ShowDialog() == true)
{
string filename = ofd.FileName;
MessageBox.Show("成功打开对话框" + filename);
}
else
{
MessageBox.Show("打开失败");
}
}
private void button2_Click(object sender, RoutedEventArgs e)
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "文本文件|*.txt|视频文件|*.avi|word文件|*.doc|所有文件|*.*";
if (sfd.ShowDialog() == true)
{
MessageBox.Show("成功保存");
}
else
{
MessageBox.Show("保存失败");
}
}
五.自己编写代码进行加载图片
private void button3_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "图片|*.jpg";
if (ofd.ShowDialog() == true)
{
string picname = ofd.FileName;
//通过代码的形式进行加载
this.image1.Source = new BitmapImage(new Uri(picname));
}
else
{
MessageBox.Show("打开失败");
}
}