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="337" Margin="0,20,0,0" VerticalAlignment="Top" Width="572">
            <TabItem Header="原始窗口">
                <Grid Background="#FFE5E5E5">
                    <TextBox HorizontalAlignment="Left"  Height="305" Margin="0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="562"/>

                </Grid>
            </TabItem>
        </TabControl>

    </Grid>

二、当点击打开新窗口,便弹出新窗口,并且在新窗口里增加一个占满的文本框(往新选项卡中添加文本框还没实现)

 public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        private int i = 0;//定义一个i用来使新造的Item名字不同
        TextBox t;//每造一个新Item 然后将Textbox扔进去
        private void MenuItem_Click_1(object sender, RoutedEventArgs e) //打开新窗口按钮
        {
             TabItem ti = new TabItem();//造一个新选项卡
             ti.Header = "新窗口"+(i+1);//新选项卡的名字
             TabControl1.Items.Add(ti);//将造好的新选项卡扔进TabControl1里
             t = new TextBox();//实体化一个新文本框
             t.Width = 562;
             t.Height = 305;
            //下面开始将文本框添加到新造的选项卡中

            //每造一个新窗口便默认突出显示为新窗口
             TabControl1.SelectedIndex = i+1;
             i++;
        }

        private void MenuItem_Click_4(object sender, RoutedEventArgs e)//关闭按钮
        {
            this.Close();
        }

        private void MenuItem_Click_3(object sender, RoutedEventArgs e)
        {

        }
    }

时间: 2024-10-13 00:44:35

WPF——菜单栏及TabControl的相关文章

WPF Adorner 在TabControl切换TabItem时消失

错误的截图: 一开始以为是MVVM绑定的代码中出现了问题,但是通过断点追踪并没有发现问题. 通过通过VS的实时可视化树发现问题:切换Item时Adorner会在AdornerLayer直接消失.届时怀疑是AdornerDecorator的问题. 最终解决办法是 在TabItem的内容的最上层放置AdornerDecorator即可 <TabItem Header="主题" > <AdornerDecorator> <Grid> /*如此如此代码*/

软件工程个人日报 2016/7/3

软件工程个人日报 2016/7/3 这个周末我进一步学习了C#WPF编程,并制作了吐槽墙的UI. 之前我的设想是使用Canvas控件实现吐槽墙与查成绩界面的切换,用两个Canvas分别在里面制作吐槽墙的UI和查成绩的UI,通过改变Canvas的Visibility属性控制控件中的内容是否显示,以达到界面的切换.但是在周末的学习中我发现了C#WPF中有一个TabControl控件,该控件的用途就是切换界面,用户可以通过点击TabControl控件的不同Tab显示不同的界面,于是我决定使用TabCo

WPF学习(三)--Menu和TabControl控件介绍

Menu Menu提供了菜单栏方式的多级菜单的管理和操作: 这里对Menu的样式不做任何的定制和管理 下面来对Menu进行测试: 将Menu添加到页面中 运行后,效果如下: 这里没有考虑界面效果和样式. TabControl TabControl是非常常见和有用的控件, 数据控件 DataGrid DataGrid 是WPF中最常用的列表数据显示控件,该控件功能强大,并且拥有强大的可定制性 上面给出的是dataGrid的基本属性,下面我们通过设置样式,来设置下DataGrid的基本样式: 关于触

WPF TabControl 模拟动画

1 public class MyTabControl : TabControl 2 { 3 4 Timer t = null; 5 protected override void OnSelectionChanged(SelectionChangedEventArgs e) 6 { 7 Action a = () => 8 { 9 try 10 { 11 var control = e.Source as MyTabControl; 12 if (control == null) return

[WPF系列-TabControl应用]

引言 Tabcontrol控件也是我们在项目中经常用到的一个控件,用它将相关的信息组织在一起分类显示. 简介     ============================================ WpfScrollableTabControl.zip   ============================================     参考: want to make scrollable tabs for a tabcontrol How to change app

WPF 自定义TabControl控件样式

一.前言 程序中经常会用到TabControl控件,默认的控件样式很普通.而且样式或功能不一定符合我们的要求.比如:我们需要TabControl的标题能够居中.或平均分布:或者我们希望TabControl的标题能够进行关闭.要实现这些功能我们需要对TabControl的样式进行定义. 二.实现TabControl的标题平均分布 默认的TabControl标题是使用TabPanel容器包含的.要想实现TabControl标题头平均分布,需要把TabPanel替换成UniformGrid: 替换后的

WPF TabControl Unload俩次的解决方案

WPF中,有些控件会多次触发Unload,有点莫名其妙~ Unload的多次触发 TabControl的内容,我是这么设置的: 在TabItem的CacheSettingView中,监听Loaded/Unloaded事件. 当窗口加载时,触发一次Loaded 不选中TabItem,并关闭窗口,触发一次Unloaded 但是,如果选中相应的Tab并显示了CacheSettingView内容后,再关闭窗口,会触发俩次Unloaded 原因:俩次Unloaded,分别是由TabControl和TabI

WPF 控件库——可拖动选项卡的TabControl

原文:WPF 控件库--可拖动选项卡的TabControl 一.先看看效果 二.原理 1.选项卡大小和位置 这次给大家介绍的控件是比较常用的TabControl,网上常见的TabControl样式有很多,其中一部分也支持拖动选项卡,但是带动画效果的很少见.这也是有原因的,因为想要做一个不失原有功能,还需要添加动画效果的控件可不是一行代码的事.要做成上图中的效果,我们不能一蹴而就,最忌讳的是一上来就想实现所有效果. 一开始,我们最好先用Blend看看原生的TabControl样式模板部分是如何实现

C# WPF可拖拽的TabControl

微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏. C# WPF可拖拽的TabControl 阅读导航 本文背景 代码实现 本文参考 源码 1. 本文背景 本文介绍使用第三方开源库 Dragablz 实现可拖拽的 TabControl,本文代码效果图如下: 2. 代码实现 使用 .Net Framework 4.8 创建名为 "TabMenu2" 的WPF模板项目,添加三个Nuget库:MaterialDesignThemes.Ma