首页
学习
活动
专区
圈层
工具
发布
50 篇文章
1
【愚公系列】2023年09月 WPF控件专题 XAML介绍
2
【愚公系列】2023年09月 WPF控件专题 WPF应用程序组成
3
【愚公系列】2023年09月 WPF控件专题 Window窗体属性和事件
4
【愚公系列】2023年09月 WPF控件专题 Label、TextBox、PasswordBox控件介绍
5
【愚公系列】2023年09月 WPF控件专题 Button控件详解
6
【愚公系列】2023年09月 WPF控件专题 RadioButton控件详解
7
【愚公系列】2023年09月 WPF控件专题 CheckBox控件详解
8
【愚公系列】2023年09月 WPF控件专题 Image控件详解
9
【愚公系列】2023年09月 WPF控件专题 Border控件详解
10
【愚公系列】2023年09月 WPF控件专题 ComboBox控件详解
11
【愚公系列】2023年09月 WPF控件专题 ListBox控件详解
12
【愚公系列】2023年09月 WPF控件专题 DatePicker控件详解
13
【愚公系列】2023年09月 WPF控件专题 Calendar控件详解
14
【愚公系列】2023年09月 WPF控件专题 Slider控件详解
15
【愚公系列】2023年09月 WPF控件专题 ProgressBar控件详解
16
【愚公系列】2023年10月 WPF控件专题 StackPanel控件详解
17
【愚公系列】2023年10月 WPF控件专题 WrapPanel控件详解
18
【愚公系列】2023年10月 WPF控件专题 DockPanel控件详解
19
【愚公系列】2023年10月 WPF控件专题 Canvas控件详解
20
【愚公系列】2023年10月 WPF控件专题 Grid控件详解
21
【愚公系列】2023年10月 WPF控件专题 Groupbox控件详解
22
【愚公系列】2023年10月 WPF控件专题 Expander控件详解
23
【愚公系列】2023年10月 WPF控件专题 TabControl控件详解
24
【愚公系列】2023年10月 WPF控件专题 Frame控件详解
25
【愚公系列】2023年10月 WPF控件专题 ListView控件详解
26
【愚公系列】2023年10月 WPF控件专题 DataGrid控件详解
27
【愚公系列】2023年10月 WPF控件专题 Menu控件详解
28
【愚公系列】2023年10月 WPF控件专题 ContextMenu控件详解
29
【愚公系列】2023年10月 WPF控件专题 TreeView控件详解
30
【愚公系列】2023年10月 WPF控件专题 ToolBar控件详解
31
【愚公系列】2023年10月 WPF控件专题 ToolBarTray控件详解
32
【愚公系列】2023年10月 WPF控件专题 StatusBar控件详解
33
【愚公系列】2023年11月 WPF控件专题 MediaElement控件详解
34
【愚公系列】2023年11月 WPF控件专题 RichTextBox控件详解
35
【愚公系列】2023年11月 WPF控件专题 GridView控件详解
36
【愚公系列】2023年11月 WPF控件专题 Rectangle控件详解
37
【愚公系列】2023年11月 WPF控件专题 Popup控件详解
38
【愚公系列】2023年11月 WPF控件专题 OpenFileDialog控件详解
39
【愚公系列】2023年11月 WPF控件专题 SaveFileDialog控件详解
40
【愚公系列】2023年11月 WPF控件专题 RepeatButton控件详解
41
【愚公系列】2023年11月 WPF控件专题 Ellipse控件详解
42
【愚公系列】2023年11月 WPF控件专题 Polygon控件详解
43
【愚公系列】2023年11月 WPF控件专题 Path控件详解
44
【愚公系列】2023年11月 WPF控件专题 WindowFormsHost控件详解
45
【愚公系列】2023年11月 WPF控件专题 WebBrowser控件详解
46
【愚公系列】2023年11月 WPF控件专题 Validation控件详解
47
【愚公系列】2023年11月 WPF控件专题 Page控件详解
48
【愚公系列】2023年11月 WPF控件专题 PrintDialog控件详解
49
【愚公系列】2023年11月 WPF控件专题 Track控件详解
50
【愚公系列】2023年11月 WPF控件专题 Polyline控件详解

【愚公系列】2023年10月 WPF控件专题 TabControl控件详解

🏆 作者简介,愚公搬代码 🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,阿里云专家博主,腾讯云优秀博主,掘金优秀博主,51CTO博客专家等。 🏆《近期荣誉》:2022年CSDN博客之星TOP2,2022年华为云十佳博主等。

🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。

🏆🎉欢迎 👍点赞✍评论⭐收藏

🚀前言

WPF控件是Windows Presentation Foundation(WPF)中的基本用户界面元素。它们是可视化对象,可以用来创建各种用户界面。WPF控件可以分为两类:原生控件和自定义控件。

原生控件是由Microsoft提供的内置控件,如Button、TextBox、Label、ComboBox等。这些控件都是WPF中常见的标准用户界面元素。

自定义控件则允许开发人员使用XAML和C#等编程语言来创建个性化的用户界面元素。自定义控件可以根据需求提供更多的功能和自定义化选项,以及更好的用户体验。

🚀一、TabControl控件详解

TabControl控件是WPF中常用的容器控件之一,用于显示多个选项卡,每个选项卡中可以包含不同的内容。TabControl控件的基本使用方式如下:

  1. 创建TabControl控件
代码语言:html
复制
<TabControl>
  <!--选项卡1-->
  <TabItem Header="选项卡1">
    <!--选项卡1的内容-->
  </TabItem>

  <!--选项卡2-->
  <TabItem Header="选项卡2">
    <!--选项卡2的内容-->
  </TabItem>
  
  <!--其他选项卡-->
</TabControl>
  1. 添加选项卡

TabControl控件中每个选项卡都由TabItem控件表示,可以通过添加多个TabItem控件来实现多个选项卡。每个TabItem控件都有一个Header属性,表示选项卡的标题,可以通过设置该属性来为每个选项卡添加不同的标题。

代码语言:html
复制
<TabControl>
  <TabItem Header="选项卡1">
    <!--选项卡1的内容-->
  </TabItem>

  <TabItem Header="选项卡2">
    <!--选项卡2的内容-->
  </TabItem>
  
  <TabItem Header="选项卡3">
    <!--选项卡3的内容-->
  </TabItem>
</TabControl>
  1. 更改选项卡的位置

TabControl控件默认将选项卡放置在顶部,如果希望将选项卡放置在其他位置,可以通过设置TabStripPlacement属性来实现。TabStripPlacement属性有四个可选值:

  • Top:在TabControl顶部放置选项卡。
  • Bottom:在TabControl底部放置选项卡。
  • Left:在TabControl左侧放置选项卡。
  • Right:在TabControl右侧放置选项卡。
代码语言:html
复制
<TabControl TabStripPlacement="Left">
  <!--选项卡-->
</TabControl>
  1. 更改选项卡的样式

TabControl控件中的选项卡样式可以通过修改TabControl控件的模板来实现。在模板中,可以自定义选项卡的外观、标题、关闭按钮等。具体实现方式可以参考WPF模板相关的资料。

🔎1.属性介绍

TabControl控件是WPF中一种常用的布局控件,用于在多个子视图中切换显示。以下是TabControl控件的一些常用属性:

  1. Background:设置TabControl的背景色。
  2. BorderBrush:设置TabControl的边框颜色。
  3. BorderThickness:设置TabControl的边框厚度。
  4. FontSize:设置TabControl中字体的大小。
  5. FontWeight:设置TabControl中字体的粗细。
  6. Height:设置TabControl的高度。
  7. ItemsSource:设置TabControl中各个TabItem的数据源。
  8. SelectedIndex:设置当前显示的TabItem的索引。
  9. TabStripPlacement:设置TabControl中TabItem的位置,可以是Top、Bottom、Left或Right。
  10. Width:设置TabControl的宽度。

除此之外,TabControl还有许多其他属性,例如ContentTemplate、IsSynchronizedWithCurrentItem、ItemContainerStyle等等,可以根据实际需求调整使用。

🔎2.常用场景

WPF中TabControl控件常用于以下场景:

  1. 标签页管理:TabControl控件可以用于管理多个标签页,用户可以通过标签页切换的方式来浏览不同的内容。
  2. 导航:TabControl控件可以用于导航应用程序的不同模块或区域,每个标签页对应一个模块或区域。
  3. 配置选项卡:通常在应用程序的“选项”或“设置”对话框中使用TabControl控件来组织和呈现不同的配置选项卡。
  4. 多窗口管理:TabControl控件可以将多个窗口放置在同一个TabControl控件下,以便在同一个界面下管理多个窗口。
  5. 电子表格:TabControl控件可以用于呈现电子表格,每个标签页对应一个表格页。
  6. 图像编辑器:TabControl控件可以用于图像编辑器中,每个标签页对应一个图层或操作历史记录。

TabControl控件具有良好的可扩展性和灵活性,可以用于管理各种类型的内容和功能。

🔎3.具体案例

代码语言:html
复制
<Window x:Class="WpfAppTest.TabControlWindow"
        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:WpfAppTest"
        mc:Ignorable="d"
        Title="TabControlWindow" Height="450" Width="800">
        <Grid>
                <!--TabStripPlacement top 选项卡标题栏显示位置-->
                <TabControl Name="tabSystem" HorizontalAlignment="Left" Height="244" Margin="141,90,0,0" VerticalAlignment="Top" Width="398" TabStripPlacement="Top">
                        <TabItem Header="用户信息" >
                                <StackPanel Background="YellowGreen">
                                        <StackPanel Orientation="Horizontal">
                                                <Label Content="用户名"/>
                                                <TextBox Text="admin" Width="100"/>
                                        </StackPanel>
                                        <StackPanel  Orientation="Horizontal" Margin="0,10,0,0">
                                                <Label Content="电话   "/>
                                                <TextBox Text="14756890876" Width="100"/>
                                        </StackPanel>
                                        <Button Content="Button"/>
                                </StackPanel>
                        </TabItem>
                        <TabItem Header="角色信息" IsSelected="True">
                                <Grid Background="LightBlue">
                                       
                                </Grid>
                        </TabItem>
                        <TabItem Header="权限设置">
                                <Grid Background="SeaGreen"/>
                        </TabItem>
                </TabControl>
                <Button Content="获取" HorizontalAlignment="Left" Margin="601,142,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click"/>
                <Button Name="btnChange" Content="切换" HorizontalAlignment="Left" Margin="620,208,0,0" VerticalAlignment="Top" Width="75" Click="BtnChange_Click"/>


        </Grid>
</Window>
代码语言:javascript
复制
private void Button_Click(object sender, RoutedEventArgs e)
{
        object content = tabSystem.SelectedContent;//选项的选项卡的Content对象   StackPanel
        object tabItem = tabSystem.SelectedItem;
}

/// <summary>
/// 依次切换的效果
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnChange_Click(object sender, RoutedEventArgs e)
{
        // tabSystem.SelectedItem = tabSystem.Items[2];
        if (tabSystem.SelectedIndex < tabSystem.Items.Count - 1)
                tabSystem.SelectedIndex += 1;
        else
                tabSystem.SelectedIndex =0;
}

我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表

下一篇
举报
领券