首页
学习
活动
专区
圈层
工具
发布
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控件专题 StatusBar控件详解

🏆 作者简介,愚公搬代码 🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,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#等编程语言来创建个性化的用户界面元素。自定义控件可以根据需求提供更多的功能和自定义化选项,以及更好的用户体验。

🚀一、StatusBar控件详解

WPF中的StatusBar控件是一个位于窗口底部的控件,用于显示与应用程序状态相关的信息。它通常用于显示进度、状态消息、错误消息等。StatusBar控件可以包含多个元素,每个元素可以显示不同的信息。

StatusBar控件通常包含一些子元素,例如TextBlock控件、ProgressBar控件、Image控件、Button控件等,这些子元素可以通过布局来组合显示在StatusBar上。在WPF中,我们可以使用XAML或者代码来创建和设置StatusBar控件。

下面是一个简单的XAML代码示例,演示了如何在StatusBar中显示文本和进度条:

代码语言:html
复制
<StatusBar>
   <StatusBarItem>
       <TextBlock Text="加载中…" />
   </StatusBarItem>
   <Separator />
   <StatusBarItem>
       <ProgressBar Value="50" Width="100" />
   </StatusBarItem>
</StatusBar>

这个例子包含了两个StatusBarItem元素,第一个元素是一个TextBlock控件,第二个元素是一个ProgressBar控件。使用Separator元素来创建一个分隔符,将这两个元素分开。

通过设置StatusBarItem元素的HorizontalAlignment属性,可以控制每个子元素在StatusBar中的位置。默认情况下,子元素居中显示。例如,下面的XAML代码将ProgressBar控件放置在StatusBar的右边:

代码语言:html
复制
<StatusBar>
   <StatusBarItem>
       <TextBlock Text="加载中…" />
   </StatusBarItem>
   <Separator />
   <StatusBarItem HorizontalAlignment="Right">
       <ProgressBar Value="50" Width="100" />
   </StatusBarItem>
</StatusBar>

在代码中,可以通过StatusBar的Items属性来访问StatusBarItem元素,然后对这些元素进行操作,例如设置文本、进度条的值等等。

🔎1.属性介绍

WPF中StatusBar控件的常用属性:

  1. Background:设置StatusBar的背景颜色。
  2. Foreground:设置StatusBar的前景颜色。
  3. Height:设置StatusBar的高度。
  4. ItemsSource:用于绑定StatusBar的子控件集合。
  5. Orientation:设置StatusBar的方向,水平或垂直。
  6. Template:设置StatusBar的模板,用于自定义控件样式。
  7. VerticalContentAlignment:用于设置StatusBar中子控件的垂直对齐方式。
  8. IsEnabled:用于启用或禁用StatusBar控件。
  9. Visibility:用于设置StatusBar的可见性,可选值为Visible、Collapsed和Hidden。

🔎2.常用场景

WPF中的StatusBar控件通常用于以下场景:

  1. 显示应用程序的状态信息,例如当前操作的进度、剩余的空间、连接状态等。
  2. 显示应用程序的版本信息。
  3. 显示操作提示信息,例如鼠标悬停在按钮上时,显示按钮用途的简短文本提示。
  4. 显示应用程序的错误信息。
  5. 显示底部状态栏,例如在应用程序中添加一个状态栏,可以在底部显示状态信息。

StatusBar控件在WPF应用程序中通常用于显示应用程序的整体状态信息或操作提示信息,以帮助用户更好地理解应用程序的运行状态。同时,StatusBar控件也可以帮助应用程序更好地与用户进行交互,提高应用程序的用户体验。

🔎3.具体案例

代码语言:javascript
复制
<Window x:Class="WpfAppTest.StatusBarWindow"
        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="StatusBarWindow" Height="450" Width="800" Loaded="Window_Loaded">
        <Grid>
                <StatusBar VerticalAlignment="Bottom" HorizontalAlignment="Stretch" Height="30">
                        <StatusBar.ItemsPanel>
                                <ItemsPanelTemplate>
                                        <Grid>
                                                <Grid.ColumnDefinitions>
                                                        <ColumnDefinition Width="100"></ColumnDefinition>
                                                        <ColumnDefinition Width="300"></ColumnDefinition>
                                                        <ColumnDefinition Width="200"></ColumnDefinition>
                                                        <ColumnDefinition></ColumnDefinition>
                                                </Grid.ColumnDefinitions>
                                        </Grid>
                                </ItemsPanelTemplate>
                        </StatusBar.ItemsPanel>
                        <StatusBarItem Content="登录者:admin" Grid.Column="0"/>
                        <StatusBarItem Grid.Column="1">
                                <StackPanel Orientation="Horizontal">
                                        <Label Content="当前时间:"/>
                                        <TextBlock Name="tbTime" Text="2020-10-28 10:13:34"  VerticalAlignment="Center"/>
                                </StackPanel>
                        </StatusBarItem>
                        <StatusBarItem Margin="10,0" Grid.Column="2">
                                <StackPanel Orientation="Horizontal">
                                        <Label Content="版权:"/>
                                        <TextBlock Text="xxxx所有"  VerticalAlignment="Center"/>
                                </StackPanel>
                        </StatusBarItem>
                        <StatusBarItem HorizontalAlignment="Right" Grid.Column="3">
                                <StackPanel Orientation="Horizontal">
                                        <Label Content="加载进度:"/>
                                        <ProgressBar Name="pbar" Value="0" Width="150" Height="25" >
                                                <ProgressBar.Triggers>
                                                        <EventTrigger RoutedEvent="ProgressBar.Loaded">
                                                                <BeginStoryboard>
                                                                        <Storyboard>
                                                                                <DoubleAnimation From="0" To="{Binding ElementName=pbar,Path=Maximum}" Storyboard.TargetName="pbar" Storyboard.TargetProperty="Value"  Duration="0:0:5"/>
                                                                        </Storyboard>
                                                                </BeginStoryboard>
                                                        </EventTrigger> 
                                                </ProgressBar.Triggers>
                                        </ProgressBar>
                                </StackPanel>
                        </StatusBarItem>
                </StatusBar>
              
        </Grid>
</Window>

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

下一篇
举报
领券