c#:WPF获取App.config中的数据以及XML文档的写入

本文详细介绍如何在WPF应用中利用App.config进行用户登录验证,包括读取配置文件中的键值对,以及如何通过WPF创建XML文档。

c#:WPF获取App.config中的数据以及XML文档的写入


一、APP.config是什么

App.config文件应用程序配置文件,它是标准的XML文件,XML标记和属性是区分大小写的。它是可以按照需求更改的,开发人员可以使用配置文件来更改设置,而不必重新编译引用程序。

​ 我们先打开一个App.config文件,看看它的内容是什么样子的

<?xml version="1.0" encoding="utf-8" ?>
<configuration>									<!--configuration表示:配置-->
    <startup>									<!--startup表示:启动-->
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
    </startup>
	<appSettings>								<!--appSetting表示附加设置,设置自己的东西-->
		<add key="id" value="random"/>			<!--这个用来表示账户-->
												<!--key—value表示键值对-->
		<add key="wpd" value="1234567890"/>		<!--这个用来表示密码-->
	</appSettings>
</configuration>

从这段代码可以看出,App.config文件完全是XML文档,它有如下特点:

二、App.config文件的特点:

1、它有一个标签,所有的配置都在标签,根节点下写

2、<app.Settings>可以配置任何 key—value 这样的键值对

3、我们可以大致的把App.config应用程序配置文件看作为一个小型的数据库

三、WPF获取应用程序配置文件中的数据

第一步:

先创建一个WPF项目,并在窗体中设置用户登录这样的界面

图片如下:

在这里插入图片描述

xaml源码如下:

  <Canvas>
        <TextBox Name="textbox1" Height="46" Canvas.Left="310" TextWrapping="Wrap" FontSize="30" Canvas.Top="68" Width="299" RenderTransformOrigin="0.63,0.394" />
        <TextBox Name="textbox2" Height="46" Canvas.Left="310" TextWrapping="Wrap" FontSize="30" Text="" Canvas.Top="160" Width="299"/>
        <Label Content="Label"/>
        <Label Content="Label"/>
        <Label Content="账户 :" Canvas.Left="159" Canvas.Top="68" Height="46" Width="103" FontSize="30"/>
        <Label Content="密码 :" Canvas.Left="159" Canvas.Top="160" Height="46" Width="103" FontSize="30"/>
        <Button Content="登  录" Canvas.Left="249" Canvas.Top="241" Width="306" Height="55" FontSize="30" Click="Button_Click"/>
    </Canvas>

第二步:

在解决方案资源管理器中打开应用程序配置文件App.config文件进行编辑

(1)//在根节点下添加子节点表示附加设置

(2)通过标签添加键值对 key—value 并设置值,作为登录的账户和密码


<appSettings>
		<!--appSetting表示附加设置,设置自己的东西-->
		<add key="id" value="random"/>
    	<!--第一个键值对表示账户,第二个表示密码-->
		<add key="wpd" value="1234567890"/>
	</appSettings>

第三步:

在WPF后台来获取应用程序配置文件(App.config文件)的键值对中的值

(1)先导入命名空间

using System.Configuration;

(2)定义字符串来存储应用程序配置文件的键值对中的数据

 string defaultid;
        string defaultwpd;
        public MainWindow()
        {
            InitializeComponent();
            //ConfigurationManager 是配置管理程序 
            //ConfigurationManager 是提供对客户端应用程序配置文件的访问
            //AppSetting 表示获取当前应用程序默认配置的AppSettingsSection数据
            //也就是说访问应用程序配置文件下,并获取Appsetting数据中的键值对的数据或者说值
             defaultid = ConfigurationManager.AppSettings["id"];
             defaultwpd = ConfigurationManager.AppSettings["wpd"];
        }

第四步:

当按下登录按钮判断客户输入的用户名和密码是否匹配

(1)添加登录按钮的事件

(2)将用户输入的值存储到一个字符串中

(3)判断存储用户输入的字符串是否与存储应用程序配置文件中的字符串是否相等

  private void Button_Click(object sender, RoutedEventArgs e)
        {
      		//存储用户输入的值到局部变量中
            string id = textbox1.Text;
            string wpd = textbox2.Text;
            if (id.Equals(defaultid) && wpd.Equals(defaultwpd))//判断用户输入的字符串是否和应用程序配置文件中的键值是否相等
            {
                MessageBox.Show("成功");//如果相等则弹出提示
            }
        }

四、通过WPF写入

(1)导入命名空间:

using System.Xml;

(2)XAML界面添加按钮,当触发按钮事件后创建一个XML文档

<Button Content="注册" FontSize="30" Canvas.Left="159" Canvas.Top="236" Width="159" Height="55" Click="Button_Click_1"/>

(3)按钮事件创建XML文档

  private void Button_Click_1(object sender, RoutedEventArgs e)//按钮事件
        {
            XmlDocument document = new XmlDocument();//创建一个XML文档
            XmlDeclaration declaration = document.CreateXmlDeclaration("1.0", "UTF-8", null); //设置文档的头,版本号,以及编码
            XmlElement root = document.CreateElement("根节点"); //创建一个根节点
            document.AppendChild(root); //将根节点添加到文件中
            document.InsertBefore(declaration,root);//将XML的头添加到根节点之前
            XmlElement element = document.CreateElement("字节点");//创建一个子节点
            element.SetAttribute("Key", "id");//设置子节点的属性和值
            root.AppendChild(element);//将子节点添加到根节点中的子节点列表的末尾
            document.Save("../../First.xml");//保存xml文件,并设置名字
        }

运行结果如下:
在这里插入图片描述
以上均为自己在学习XML文档时对一些知识点的总结,希望对大家能有一定的帮助。如果本篇文章有什么不完善的地方,或者对大家造成了一些误导,还请大家能够指出并纠正我的错误,谢谢!

08-25
### 三级标题:C# WPF 的基本概念 C# WPF(Windows Presentation Foundation)是一个用于构建 Windows 桌面应用程序的 UI 框架。它支持广泛的应用程序开发功能,包括应用模型、资源、控件、图形、布局、数据绑定、文档和安全性。WPF.NET Framework 的一部分,允许开发者使用 C#.NET 语言来创建应用程序。WPF 使用 Extensible Application Markup Language (XAML) 为应用程序编程提供声明性模型,这使得开发者可以定义用户界面的结构和样式,同时使用 C# 等语言来实现应用程序的逻辑和行为[^1]。 ### 三级标题:C# WPF 的使用方法 在 C# 中使用 WPF 连接 MySQL 数据库涉及几个步骤,包括安装必要的库,配置连接字符串,编写代码以执行数据库操作等。例如,开发者可以通过安装 MySQL 数据库连接器来实现数据库连接,并通过编写数据访问层代码来操作数据库[^2]。 WPF 中的命令(Command)表示一个任务单元,并且可跟踪该任务的状态,实际上是实现了 `ICommand` 接口的类。命令可以包含任务执行的逻辑代码,也可以不包含,从而仅作为联系命令源与命令目标的媒介。例如,WPF 默认的实现类 `RoutedCommand` 不包含任何实际的执行代码,而开发者自定义的命令通常会在内部实现具体的逻辑[^3]。 在 WPF 中添加并使用图像资源可以通过 XAML 直接指定图像路径来实现。例如,以下代码展示了如何在 XAML 中加载一个图像资源: ```xml <Window x:Class="ImageDemo.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:ImageDemo" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800"> <Grid> <Image Source="Images/迪丽热巴.jpg" /> </Grid> </Window> ``` ### 三级标题:C# WPF 的应用场景 C# WPF 主要用于开发具有复杂用户界面的桌面应用程序。它适用于需要丰富图形界面、数据绑定、动画效果以及交互式用户体验的应用场景。由于 WPF 支持 XAML 和数据绑定,因此非常适合用于构建企业级应用程序、多媒体应用以及需要高度定制 UI 的项目。 ### 三级标题:C# WPF 的优势 WPF 提供了强大的 UI 设计能力,支持声明式编程模型,使得界面与逻辑分离,提升了开发效率和维护性。同时,WPF 提供了丰富的控件库、样式和模板机制,支持动画、3D 图形、文档处理等功能,使得开发者可以创建高度可视化和交互性的应用程序。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

御弟謌謌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值