WPF中使用TabControl为每个页签添加不同窗体的方法。

这篇具有很好参考价值的文章主要介绍了WPF中使用TabControl为每个页签添加不同窗体的方法。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

注:每一个页签添加不同窗体,其实不能叫是窗体,只能叫做控件。我这么起标题主要是方便一些新手来搜索答案。

项目需求:

对于一些上位机控制程序来说,一个窗体根本放不下所有的功能,所以我们通常会使用TabControl控件来进行分类布局。通过选择分类选项卡,来展示不同的功能界面。

下面上一个简单Demo

一、先建立一个主窗口MainWindow.xaml

<Window x:Class="TabControlTest.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:TabControlTest"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Window.Resources>
        
    </Window.Resources>
    <Grid>
        <TabControl x:Name="tabControl" SelectionChanged="tabControl_SelectionChanged">
            <TabItem Header="第一">
                <Grid x:Name="p1" Background="Yellow" />
            </TabItem>
            <TabItem Header="第二">
                <Grid x:Name="p2" Background="Black"/>
            </TabItem>
            <TabItem Header="第三">
                <Grid x:Name="p3" Background="OrangeRed"/>
            </TabItem>
            <TabItem Header="第四">
                <Grid x:Name="p4" Background="Green"/>
            </TabItem>
        </TabControl>

    </Grid>
</Window>

效果如图:tabcontrol添加窗体,WPF控件,C#,上位机,wpf,microsoft,c#

 二、再创建4个子界面

我们可以右键项目名称,添加一个文件夹,取名为子窗口。然后右键子窗口,添加-用户控件(WPF).

win1.xaml子控件窗口代码

<UserControl x:Class="TabControlTest.子窗口.win1"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:local="clr-namespace:TabControlTest.子窗口"
             mc:Ignorable="d"  Background="Black" Foreground="Red"
             d:DesignHeight="450" d:DesignWidth="800">
    <Grid>
        <TextBlock Text="这是第一个页面"/>
    </Grid>
</UserControl>

tabcontrol添加窗体,WPF控件,C#,上位机,wpf,microsoft,c#tabcontrol添加窗体,WPF控件,C#,上位机,wpf,microsoft,c#

我这里一共建了4个控件。

三、打开主窗口代码,对控件进行绑定

首先给TabControl创建一个SelectionChanged的事件,再加入事件代码

 private void tabControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            int index = (sender as TabControl).SelectedIndex;
            win1 w1 = new win1();
            win2 w2 = new win2();
            win3 w3 = new win3();
            win4 w4 = new win4();
            switch (index)
            {
                case 0:
                    this.p1.Children.Add(w1);
                    break;
                case 1:
                    this.p2.Children.Add(w2);
                    break;
                case 2:
                    this.p3.Children.Add(w3);
                    break;
                case 3:
                    this.p4.Children.Add(w4);
                    break;

            }
        }

tabcontrol添加窗体,WPF控件,C#,上位机,wpf,microsoft,c#

 tabcontrol添加窗体,WPF控件,C#,上位机,wpf,microsoft,c#

 文章来源地址https://www.toymoban.com/news/detail-517365.html

到了这里,关于WPF中使用TabControl为每个页签添加不同窗体的方法。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MFC TabControl使用方法

    1.新建放置控件对话框 新建1个放置TabControl的Dialog主对话框,在此对话框中拖入1个TabControl控件,为控件绑定变量类型为:CTabCtrl,变量名为m_TabCtrl_Four。 2.新建子对话框并新建类 新建两个作为TabControl控件界面的Dialog子对话框,并为其新建两个对话框类。 3.设置子对话框属性

    2024年02月07日
    浏览(41)
  • [WPF]原生TabControl控件实现拖拽排序功能

    在UI交互中,拖拽操作是一种非常简单友好的交互。尤其是在ListBox,TabControl,ListView这类列表控件中更为常见。通常要实现拖拽排序功能的做法是自定义控件。本文将分享一种在原生控件上设置附加属性的方式实现拖拽排序功能。 该方法的使用非常简单,仅需增加一个附加属

    2024年02月08日
    浏览(42)
  • WPF使用Prism新开窗体regionManager处理

    如果我们需要使用prism弹出一个新的提示窗体可以这样写 但是这样写新窗体注入的regionManager还是原来父窗体的regionManager对象。利用这个对象进行视图注入也可以操作,但是会导致一些奇怪的问题,比如在regionManager.Regions里找不到新加的Region。 此处新窗体的构造函数需要做如

    2024年02月12日
    浏览(38)
  • WPF 异步加载数据,窗体事件

    加载WPF界面时,需要获取数据,而数据返回的时间比较长,这个时候可以异步加载数据到界面。   1、首先在XAML中触发窗口载入事件  2、在后台代码中处理窗口载入事件 (1)找到主窗口类   (2)在MainWindow类中添加 XAML中加入的窗口载入事件   这个事件中可以放置各种界面

    2024年02月05日
    浏览(38)
  • Simple WPF:实现一个透明、无边框、鼠标穿透的WPF窗体

    一个自定义WPF窗体的解决方案,借鉴了吕毅老师的WPF制作高性能的透明背景的异形窗口一文,并在此基础上增加了鼠标穿透的功能。可以使得透明窗体的鼠标事件穿透到下层,在下层窗体中响应。这一功能在开发一些截图工具,直播、会议标注工具的时候会有比较多的应用,

    2024年02月09日
    浏览(92)
  • 在WPF的程序中,嵌入其他进程的窗体

    我最近遇到了这样一个问题,就是我的WPF程序中,需要用到32位的COM组件。所以我的WPF程序也是要32位的。但是32的程序的逻辑内存最多只有2G,因此,当这个COM组件比较吃内存的时候,程序就会出现内存不够的情况,就会出现异常。因此,我的解决方案是使用winform来调用这个

    2024年02月11日
    浏览(31)
  • idea中添加git使用时文件不同颜色,标签不同颜色,代码不同颜色代表的含义

    绿色——已经加入控制暂未提交; 红色——未加入版本控制;自己建立新文件后就是红色的,出现红色的一定要Add到git中,不然不能上传到远程仓库 蓝色——加入,之前提交了,但是后来改动后未提交; 白色——加入,已提交,无改动; 灰色——版本控制已忽略文件; 黄

    2023年04月17日
    浏览(43)
  • WPF 设置窗体 Window的 WindowStyle=“None“ 上方有白条问题

    WPF 重写Window窗体的样式为None,上方有一条白条线,如下图: 解决方案: Window窗体属性设置:ResizeMode=“CanMinimize” 解决之后显示如下: 整体代码参考如下: 备注:如果添加WindowStyle=“None” 和ResizeMode=\\\"CanMinimize\\\"同时设置,就不会显示横向导航条

    2024年02月16日
    浏览(36)
  • C#中TabControl控件的使用

      目录 一、改变TabPage选项卡的样式  1.建立一个Windows窗体应用(.NET Framwork) 2.创建ImageList控件 3.改变TabPage选项卡的样式和添加文本 (1) 修改选项卡表头名称 (2)添加选项卡图标 (3)标签页添加文本 (4)标签页追加文本 4.生成 5.源码  二、将选项卡显示为按钮 三、在

    2024年02月05日
    浏览(39)
  • C# 添加现有的窗体的时候,为何窗体的控件不显示了?

    有的项目中一些功能是可以复用的,将原始项目中的窗体文件添加到新项目时,发现有一些问题。添加完之后,打开的窗体发现没有显示任何控件,窗体的大小还变小了? 将Form1.cs Form1.resx Form1.Designer 三个文件直接复制到新项目的目录下,然后直接在新项目上选择添加现有项

    2024年02月10日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包