一、先造一个窗体,然后在窗体里面增加菜单栏及原始的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的更多相关文章

  1. WPF 模拟迅雷TabControl界面

    WPF模拟迅雷TabControl界面 点击查看下载 <!--TabControl样式--> <Style x:Key="TabControlStyle" Tar ...

  2. WPF Control Hints - TabControl : 怎么修改整个tab header的margin?

    WFP里面TabControl我们可以添加多个TabItem,每个TabItem的Header就是我们常点击的tab标签.但是默认的layout行为里面,这个header是有个2个像素的margin, ...

  3. WPF Adorner 在TabControl切换TabItem时消失

    错误的截图: 一开始以为是MVVM绑定的代码中出现了问题,但是通过断点追踪并没有发现问题. 通过通过VS的实时可视化树发现问题:切换Item时Adorner会在AdornerLayer直接消失.届时怀 ...

  4. [WPF系列]-基础系列 TabControl应用

    引言 Tabcontrol控件也是我们在项目中经常用到的一个控件,用它将相关的信息组织在一起分类显示. 简介     ========================================= ...

  5. Silverlight中的TabControl如何绑定数据?重写tabcontrol和tabItem 解决绑定友好问题。可以绑定对象集合

    在 WPF 中,TabControl 可以直接将 ItemsSource 绑定数据源,见 将 TabControl 绑定到数据的示例 http://msdn.microsoft.com/zh-cn/l ...

  6. WPF自学入门(六)WPF带标题的内容控件简单介绍

    在WPF自学入门(二)WPF-XAML布局控件的文章中分别介绍StackPanel,WarpPanel,DockPanel,Grid,Canvas五种布局容器的使用,可以让我们大致了解容器可以使用在什 ...

  7. WPF学习(三)--Menu、TabControl和DataGrid控件介绍

    Menu Menu提供了菜单栏方式的多级菜单的管理和操作: 这里对Menu的样式不做任何的定制和管理 下面来对Menu进行测试: 将Menu添加到页面中 运行后,效果如下: 这里没有考虑界面效果和样式 ...

  8. wpf实现IE菜单栏自动隐藏效果

    IE菜单栏默认为隐藏状态,按下键盘Alt键后显示,菜单失去焦点则自动隐藏.下面说说WPF中如何实现这样的效果. 第一步:Menu默认设置为隐藏(Visibility="Collapsed&q ...

  9. WPF: 针对Windows 8优化菜单栏和工具栏

    原文 WPF: 针对Windows 8优化菜单栏和工具栏 目录 1. 关于菜单图标大小 2. 关于IsEnabled和工具栏图标 3. 针对.NET 3.x的菜单栏和工具栏外观 返回目录 1. 关于菜 ...

随机推荐

  1. GridView 自定义表头

    //修改表头 protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) { switch (e.Row.Ro ...

  2. 使用FreeMarker生成静态HTML

    1.FreeMarker需要添加的Maven依赖: <dependency> <groupId>org.freemarker</groupId> <artif ...

  3. sgu 104 Little Shop of Flowers

    经典dp问题,花店橱窗布置,不再多说,上代码 #include <cstdio> #include <cstring> #include <iostream> #i ...

  4. sgu 103 Traffic Lights

    这道题难得不是算法,而是处理. 题意就是让你求最短路,只有当两个点在某一秒颜色相同时,这条边才可以通行,输入首先给你 起点和终点, 然后给你 点数和边数, 接下来 n 行 初始颜色,初始颜色持续时间, ...

  5. OpenJudge/Poj 1159 Palindrome

    1.链接地址: http://bailian.openjudge.cn/practice/1159/ http://poj.org/problem?id=1159 2.题目: Palindrome T ...

  6. SQL Server代理服务无法启动的处理方法(转载)

    SQL Server代理服务无法启动问题的确很让我们头疼,下面就为您介绍SQL Server代理服务无法启动的处理方法,希望对您能有所帮助. --==配置环境服务器环境为32位Intel® Xeon® ...

  7. Centos 6.4 /usr/src/kernels 目录为空解决方法

    /usr/src/kernels 目录下是Linux的内核源码,如果其为空,则需要安装安装 kernel-headers 和 kernel-devel包

  8. 【转】c#文件操作大全(一)

    1.创建文件夹//using System.IO;Directory.CreateDirectory(%%1); 2.创建文件//using System.IO;File.Create(%%1); 3 ...

  9. java Object类

    常用的共性内容 1,实现任何对象的比较,一般比较同一种对象的比较 Object1.equals(Object obj);等同于Object1 == obj: 只有当两个引用指向同一个对象时方法返回tr ...

  10. thinkphp表单上传文件并将文件路径保存到数据库中

    上传单个文件,此文以上传图片为例,上传效果如图所示 创建数据库upload_img,用于保存上传路径 CREATE TABLE `seminar_upload_img` (  `id` int(11) ...