WPF——菜单栏及TabControl
一、先造一个窗体,然后在窗体里面增加菜单栏及原始的TabControl选项卡
<Grid>
<Menu>
<MenuItem Header="文件" Click="MenuItem_Click_3">
<MenuItem Header="打开新窗口" Click="MenuItem_Click_1"></MenuItem>
<MenuItem Header="退出" Click="MenuItem_Click_4" ></MenuItem>
</MenuItem>
<MenuItem Header="帮助">
<MenuItem Header="关于我们"></MenuItem>
</MenuItem>
</Menu>
<TabControl Name="TabControl1" HorizontalAlignment="Left" Height="" Margin="0,20,0,0" VerticalAlignment="Top" Width="">
<TabItem Header="原始窗口">
<Grid Background="#FFE5E5E5">
<TextBox HorizontalAlignment="Left" Height="" Margin="" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width=""/> </Grid>
</TabItem>
</TabControl> </Grid>

二、当点击打开新窗口,便弹出新窗口,并且在新窗口里增加一个占满的文本框

public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private int i = ;//定义一个i用来使新造的Item名字不同
TextBox t;//每造一个新Item 然后将Textbox扔进去
private void MenuItem_Click_1(object sender, RoutedEventArgs e) //打开新窗口按钮
{
TabItem ti = new TabItem();//造一个新选项卡
ti.Header = "新窗口"+(i+);//新选项卡的名字
TabControl1.Items.Add(ti);//将造好的新选项卡扔进TabControl1里
t = new TextBox();//实体化一个新文本框
t.Width = ;
t.Height = ;
//下面开始将文本框添加到新造的选项卡中
ti.Content = t;
//每造一个新窗口便默认突出显示为新窗口
TabControl1.SelectedIndex = i+;
//TabControl1.SelectedIndex = TabControl1.Items.Count - 1;
i++;
//双击每个选项卡触发的事件
ti.MouseDoubleClick+=ti_MouseDoubleClick;
} private void MenuItem_Click_4(object sender, RoutedEventArgs e)//关闭按钮
{
this.Close();
}
private void ti_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
TabItem s = (TabItem)sender; //sender代表每个选项卡
TabControl1.Items.Remove(s);
}
private void MenuItem_Click_3(object sender, RoutedEventArgs e)
{ }
}

WPF——菜单栏及TabControl的更多相关文章
- WPF 模拟迅雷TabControl界面
WPF模拟迅雷TabControl界面 点击查看下载 <!--TabControl样式--> <Style x:Key="TabControlStyle" Tar ...
- WPF Control Hints - TabControl : 怎么修改整个tab header的margin?
WFP里面TabControl我们可以添加多个TabItem,每个TabItem的Header就是我们常点击的tab标签.但是默认的layout行为里面,这个header是有个2个像素的margin, ...
- WPF Adorner 在TabControl切换TabItem时消失
错误的截图: 一开始以为是MVVM绑定的代码中出现了问题,但是通过断点追踪并没有发现问题. 通过通过VS的实时可视化树发现问题:切换Item时Adorner会在AdornerLayer直接消失.届时怀 ...
- [WPF系列]-基础系列 TabControl应用
引言 Tabcontrol控件也是我们在项目中经常用到的一个控件,用它将相关的信息组织在一起分类显示. 简介 ========================================= ...
- Silverlight中的TabControl如何绑定数据?重写tabcontrol和tabItem 解决绑定友好问题。可以绑定对象集合
在 WPF 中,TabControl 可以直接将 ItemsSource 绑定数据源,见 将 TabControl 绑定到数据的示例 http://msdn.microsoft.com/zh-cn/l ...
- WPF自学入门(六)WPF带标题的内容控件简单介绍
在WPF自学入门(二)WPF-XAML布局控件的文章中分别介绍StackPanel,WarpPanel,DockPanel,Grid,Canvas五种布局容器的使用,可以让我们大致了解容器可以使用在什 ...
- WPF学习(三)--Menu、TabControl和DataGrid控件介绍
Menu Menu提供了菜单栏方式的多级菜单的管理和操作: 这里对Menu的样式不做任何的定制和管理 下面来对Menu进行测试: 将Menu添加到页面中 运行后,效果如下: 这里没有考虑界面效果和样式 ...
- wpf实现IE菜单栏自动隐藏效果
IE菜单栏默认为隐藏状态,按下键盘Alt键后显示,菜单失去焦点则自动隐藏.下面说说WPF中如何实现这样的效果. 第一步:Menu默认设置为隐藏(Visibility="Collapsed&q ...
- WPF: 针对Windows 8优化菜单栏和工具栏
原文 WPF: 针对Windows 8优化菜单栏和工具栏 目录 1. 关于菜单图标大小 2. 关于IsEnabled和工具栏图标 3. 针对.NET 3.x的菜单栏和工具栏外观 返回目录 1. 关于菜 ...
随机推荐
- C#微信开发之旅--准备阶段
最近才开始学微信开发的相关内容,记录下,慢慢的养成习惯! 1.申请公众号: 公众号分为 订阅号 和 服务号.他们之前的区别可以点击这里查看 因为我们是测试的,所以可以直接申请测试帐号,就把所有的功能都 ...
- OC6_字符串练习
// // QFString.h // OC6_字符串练习 // // Created by zhangxueming on 15/6/10. // Copyright (c) 2015年 zhang ...
- Flex布局新旧混合写法详解(兼容微信)
原文链接:https://www.usblog.cc/blog/post/justzhl/Flex布局新旧混合写法详解(兼容微信) flex是个非常好用的属性,如果说有什么可以完全代替 float 和 ...
- thymeleaf的初次使用(带参请求以及调用带参js方法)
之前对于前端框架接触较少,第一次接触thymeleaf,虽说看起来并不复杂但我还是花费了好一会儿才弄懂. 话不多少下面就简单说一下我在项目中的应用. 首先是java代码 controller层 将需要 ...
- tomcat根据繁忙线程数对keepalive进行动态调整
众所周知,Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接.我们经常所用的tomcat服务器就支持HTTP Ke ...
- 客户调用COM流程
参考:COM技术内幕 DllGetClassObjecthttps://msdn.microsoft.com/en-us/library/windows/desktop/ms680760.aspx ...
- From MSI to WiX, Part 2 - ARP support, by Alex Shevchuk
Following content is directly reprinted from From MSI to WiX, Part 2 - ARP support Author: Alex Shev ...
- BYTE、WORD与DWORD类型
Original Link: http://hi.baidu.com/vnxuaqndtncrxyr/item/f67c83872cf80cd65e0ec10d Author: 厚积薄发 在Visu ...
- LumiSoft收取邮件(含邮件附件)
在.NET当中利用C#发送电子邮件很简单,微软也提供了默认的实现,但是收取电子邮件的操作却并没有提供解决方案.好在有一些第三方的解决方案可供选择,来简化程序员日常项目中的开发工作. 这里我选用Lumi ...
- 不使用border-radius,实现一个可复用的高度和宽度都自适应的圆角矩形
现在css3支持圆角矩形,但是为了兼容性问题,虽然比较麻烦,但还是有必要了解一下以下方法. 在一个div内,包含8个div,控制这个8个div的height.margin以及border属性值,以达到 ...