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

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

🚀一、Page控件详解

Page是WPF应用程序中的一个控件,用于将应用程序的内容分解为独立的页面。它通常用于实现导航结构,例如在框架或导航窗口中。Page控件提供了一个基本的页面布局,可以在其中添加其他控件来组成页面。

在WPF中,创建一个新的Page控件可以通过Visual Studio的模板进行。在添加新项对话框中选择“WPF Page”模板即可创建一个新的Page控件。然后,可以在Page控件的XAML文件中定义布局和添加其他控件。

例如,以下是一个简单的Page控件示例,其中包含一个文本块和一个按钮:

代码语言:html
复制
<Page>
    <Grid>
        <TextBlock Text="Welcome to my application!" />
        <Button Content="Click me!" />
    </Grid>
</Page>

通过在应用程序中导航到该页面,用户可以看到该页面的内容并与其中的控件交互。可以使用导航框架或其他导航控件来实现页面之间的导航。

🔎1.属性介绍

Page控件是WPF中用于实现页面的控件,它拥有以下常用属性:

  1. Background:页面的背景色。
  2. Title:页面的标题。
  3. FontFamily:页面中的字体。
  4. FontSize:页面中的字体大小。
  5. Foreground:页面中文字的颜色。
  6. Height:页面的高度。
  7. Width:页面的宽度。
  8. Margin:页面与外部元素之间的距离。
  9. Padding:页面内部元素与页面边缘之间的距离。
  10. NavigationService:页面导航服务。

🔎2.常用场景

Page控件是WPF中的导航控件,常用于应用程序中的页面切换和导航。以下是Page控件常见的使用场景:

  1. 应用程序的登录页、欢迎页等静态页面。
  2. 应用程序中多个页面之间的导航,例如主菜单、编辑页面、详情页面等。
  3. WPF应用程序中使用框架布局时,Page控件可以作为框架布局的子控件。
  4. 关闭应用程序前的确认页面,例如确认是否保存修改的提示页面。

Page控件可以方便地管理WPF应用程序中的多个页面,并帮助用户快速、方便地导航到所需页面。

🔎3.具体案例

以下是一个WPF中Page控件的简单案例:

在MainWindow.xaml中添加如下代码:

代码语言:html
复制
<Window x:Class="PageNavigation.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:PageNavigation"
        Title="Page Navigation" Height="350" Width="500">
    <Grid>
        <Frame x:Name="MainFrame" NavigationUIVisibility="Hidden" />
    </Grid>
</Window>

然后创建两个Page页面:Page1.xaml和Page2.xaml。Page1.xaml中添加如下代码:

代码语言:html
复制
<Page x:Class="PageNavigation.Page1"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      Title="Page 1">
    <Grid>
        <StackPanel>
            <TextBlock Text="This is Page 1" FontSize="20" />
            <Button Content="Go to Page 2" Click="Button_Click" />
        </StackPanel>
    </Grid>
</Page>

Page2.xaml中添加如下代码:

代码语言:html
复制
<Page x:Class="PageNavigation.Page2"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      Title="Page 2">
    <Grid>
        <StackPanel>
            <TextBlock Text="This is Page 2" FontSize="20" />
            <Button Content="Go to Page 1" Click="Button_Click" />
        </StackPanel>
    </Grid>
</Page>

在MainWindow.xaml.cs中添加如下代码:

代码语言:c#
复制
using System.Windows;
using System.Windows.Controls;

namespace PageNavigation
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

            // 默认加载Page1页面
            MainFrame.Navigate(new Page1());
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Button button = sender as Button;

            if (button.Content.ToString() == "Go to Page 2")
            {
                MainFrame.Navigate(new Page2());
            }
            else if (button.Content.ToString() == "Go to Page 1")
            {
                MainFrame.Navigate(new Page1());
            }
        }
    }
}

这个例子中,我们在MainWindow.xaml中添加一个Frame控件,用于显示Page页面。然后在MainWindow.xaml.cs中,我们在构造函数中默认加载Page1页面。当用户点击按钮时,我们根据按钮的Content属性来判断要加载哪个页面,然后使用Navigate方法进行页面导航。

运行程序,可以看到两个页面。在Page1页面中点击“Go to Page 2”按钮,会跳转到Page2页面。在Page2页面中点击“Go to Page 1”按钮,会跳转回到Page1页面。


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

下一篇
举报
领券