C# 20260109

呼~ ,累麻了。 义务加班2h,天天被公司白嫖,以前只有我白嫖别人,damn it!

打开网盘,把今天摸鱼看的视频内容整理出来。学习路线,Visualstudio界面介绍


直接从WPF走起,WPF是一个UI框架,里面的控件之间的交互是需要用到C#的中高阶语法。

以上内容均可以在学习WPF的过程中完成学习。

WPF规划的学习路线:先从整体框架,再去学习细节。(老师推荐)

接上图:

接上图:


按视频安装Visual studio2022,哈哈,以前就下过了,直接下一个视频。

经典第一步,hello world的C#程序编写(.NET版本为4.7.2)。后续不写步骤了,主写在完成过程中的代码有哪些运用了什么知识点的。

**①:**调试配置

  • 调试配置:
    • Debug模式:调试状态
    • Release模式:发布版本

**②:**设计前端界面

**③:**前端代码

**④:**解决方案资源管理器

  • 项目结构:
    • Properties:属性,其中AssemblyInfo.cs包含程序集信息(版本号啥的)
    • References:项目引用的库
    • App.config:XML格式的配置文件
    • App.xaml:代表当前应用程序本身,可以包含多个窗体或对话框
    • MainWindow.xaml:主窗体文件

分析App.xmal和MainWindow.xmal关系:

重点关注这个部分,这是HelloWorld程序加载的关键部分。

  • 文件组成:
    • 前端代码:以.xaml扩展名结尾
    • 后端代码:以.xaml.cs结尾(称为隐藏代码)
  • 代码关系:
    • 前端代码负责界面定义
    • 后端代码处理业务逻辑
    • 两者通过partial关键字组合成完整类

App.xaml:

XML 复制代码
<Application x:Class="HelloWorld.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:local="clr-namespace:HelloWorld"
             StartupUri="MainWindow.xaml">
    <Application.Resources>
         
    </Application.Resources>
</Application>

App.xaml.cs:

cs 复制代码
namespace HelloWorld
{
    /// <summary>
    /// App.xaml 的交互逻辑
    /// </summary>
    public partial class App : Application
    {
    }
}

MainWindow.xaml:

MainWindow.xaml.cs:

cs 复制代码
namespace HelloWorld
{
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
    }
}

首先分析partial(分部类型):通过分部类型可以定义要拆分到多个定义中的类、结构、接口或记录。 这些多个定义可以位于同一项目内的不同文件中。(定义我是从官方文档弄过来的)

这里不需要太细了,容易搞晕。大概意思就是前端的.xmal和后端的.cs代码共同实现一个完整的类。

接着通过观察App.xaml.cs中app是继承了application。ctrl加鼠标双击application这个类可以看到它的反编译文件,找到startupUri,发现它是一个属性。结合App.xaml发现startupUri被设置成了MainWindow.xmal

因此点击启动项目按钮,第一步执行app.xmal文件,找到主窗体MainWindow.xmal,MainWindow.xmal作为资源被加载到startupUrl,作为启动窗口启动。


程序有启动时候,也会有消亡时候。

Application生命周期

**快捷键:**在.xmal文件按F7就可以跳到它后端.cs代码。

视频分析了applicaiton中的4个函数的调用,分别是下面四个。

    • OnStartup:启动, 加载本地设置参数
    • OnExit: 退出,保存缓存数据
    • OnActivated/Deactivated: 激活和不激活,处理暂停/恢复逻辑

有点晚了,已经看了一遍,明天找个机会写,喵的,还得上班。学习的动力是工作的压力,难绷。。。

2026/1/9

相关推荐
玄同7651 天前
从 0 到 1:用 Python 开发 MCP 工具,让 AI 智能体拥有 “超能力”
开发语言·人工智能·python·agent·ai编程·mcp·trae
czy87874751 天前
深入了解 C++ 中的 `std::bind` 函数
开发语言·c++
消失的旧时光-19431 天前
从 Kotlin 到 Dart:为什么 sealed 是处理「多种返回结果」的最佳方式?
android·开发语言·flutter·架构·kotlin·sealed
yq1982043011561 天前
静思书屋:基于Java Web技术栈构建高性能图书信息平台实践
java·开发语言·前端
一个public的class1 天前
你在浏览器输入一个网址,到底发生了什么?
java·开发语言·javascript
Jinkxs1 天前
Gradle - 与Groovy/Kotlin DSL对比 构建脚本语言选择指南
android·开发语言·kotlin
&有梦想的咸鱼&1 天前
Kotlin委托机制的底层实现深度解析(74)
android·开发语言·kotlin
BD_Marathon1 天前
设计模式——依赖倒转原则
java·开发语言·设计模式
devmoon1 天前
在 Polkadot Runtime 中添加多个 Pallet 实例实战指南
java·开发语言·数据库·web3·区块链·波卡
Evand J1 天前
TDOA(到达时间差)的GDOP和CRLB计算的MATLAB例程,论文复现,附参考文献。GDOP:几何精度因子&CRLB:克拉美罗下界
开发语言·matlab·tdoa·crlb·gdop