自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(138)
  • 收藏
  • 关注

原创 87.在线程中优雅处理TryCatch返回 C#例子 WPF例子

通过使用标志变量,我们可以在异步线程中优雅地处理异常,并根据异常结果决定后续流程。这种方法简单明了,易于理解和维护。相比之下,直接在catch块中退出会导致逻辑混乱,甚至引发新的问题。希望这个对比示例能帮助你更好地理解如何在异步线程中处理异常。如果你有任何问题或建议,欢迎在评论区留言,我们一起交流学习!

2025-04-03 11:41:52 429

原创 86.方便的double转string属性 C#例子 WPF例子

Power通过这种封装方式,我们可以更好地控制数据的访问和修改。Power和的设计符合C#的最佳实践。希望这个示例能给你带来一些启发,帮助你在实际开发中写出更优雅的代码。如果你有任何问题或建议,欢迎在评论区留言,我们一起交流学习!

2025-04-03 11:27:45 461

原创 85.导航栏制作 C#例子 WPF例子

本文介绍如何在 WPF 应用程序中基于 MVVM 架构实现一个简单的导航栏。通过以下步骤,可以快速搭建一个包含导航栏和动态内容切换的主窗口

2025-03-28 14:23:51 417

原创 84.仪器初始化的异步处理:从复杂到简洁的探索 C#例子 WPF例子

通过这次探索,我深刻体会到在开发中“少即是多”的道理。有时候,过度设计和复杂的异常处理机制并不能从根本上解决问题,反而会让代码变得更加难以理解和维护。在面对类似的问题时,我们应该从更高的层次去思考解决方案,而不是一味地在底层加入更多的逻辑。希望我的经验能够对你有所帮助。如果你也有类似的经历,欢迎在评论区分享你的故事。

2025-03-24 19:59:28 535

原创 83.为什么Object类型可以用来打开窗口 C#例子 WPF例子

在 WPF 中,打开和关闭窗口时使用object类型是完全可行的,任何窗口类型都可以通过object类型来操作,只要正确地将其转换为Window类型。

2025-03-18 16:10:03 425

原创 82.RadioButton的选中处理逻辑 C#例子 WPF例子

这是一个事件处理函数,用于处理的点击事件。sender参数表示触发事件的对象(在这里是e参数包含事件相关的数据(在这里是,表示路由事件的参数)。使用is关键字检查sender是否是类型,并将其赋值给局部变量。检查是否为true,确保只有在按钮被选中时才执行后续逻辑。IsChecked是一个bool?类型(),表示按钮是否被选中。这里通过== true确保按钮确实被选中。使用is关键字检查是否是string类型,并将其赋值给局部变量content。这里假设的Content属性是一个字符串。如果。

2025-03-18 14:50:01 982

原创 81.枚举 C#例子

枚举比字典更简单,常用于。

2025-03-13 13:24:54 111

原创 80.Dictionary 字典 C#例子

是一个非常强大的数据结构,用于存储键值对。它提供了高效的查找、插入和删除操作,适用于需要快速访问数据的场景。本文将通过一个简单的示例,介绍如何使用。是一个泛型集合,需要指定键和值的类型。以下代码展示了如何创建一个。的基本操作,从而在实际开发中高效地使用这一数据结构。属性是否为 0 来判断字典是否为空。属性获取字典中的键值对数量。通过以上代码,你可以快速掌握。

2025-03-13 11:13:42 463

原创 79.ScottPlot的MVVM实现 C#例子 WPF例子

在你的 WPF 窗口的 XAML 文件中,定义一个,并将其Content属性绑定到 ViewModel 中的属性。这样可以将WpfPlot控件动态绑定到 ViewModel。

2025-03-12 18:53:46 626

原创 78.StringBuilder简单示例 C#例子 WPF例子

是一个强大的工具,适用于需要高效处理字符串的场景。它通过内部的可变字符缓冲区,避免了字符串不可变性带来的性能问题,同时提供了灵活的操作方法。在需要频繁修改字符串时,是一个值得优先考虑的选择。

2025-03-07 13:59:39 354

原创 77.ObservableCollection使用介绍1 C#例子 WPF例子

可观察集合ObservableCollection在现代的软件开发中,尤其是在构建动态用户界面(如 WPF、UWP 或 Xamarin)时,数据绑定是一个核心概念。它允许开发者将数据源与界面元素绑定,从而实现数据的自动更新和同步。在 .NET 中, 是一个专门为这种场景设计的集合类,它提供了动态通知功能,使得集合的变化能够实时反映到绑定的用户界面上。 是一个位于 命名空间下的动态数据集合。它继承自 ,并实现了 和 接口。这意味着当集合中的数据发生变化(如添加、删除或修改元素)时,它会自动通知绑定

2025-03-07 13:51:23 778

原创 76.读取计时器运行时间 C#例子 WPF例子

startTime通过在类中新增开始时间、已启动时间和剩余时间的属性,我们能够更直观地了解定时器的运行状态。这些属性的实现基于DateTime和TimeSpan类型,提供了强大的时间和时间间隔处理功能。在实际开发中,这些功能可以帮助我们更好地监控和管理定时任务,例如在倒计时应用中实时显示剩余时间,或者在日志中记录任务的执行时长。希望这篇文章能够帮助你更好地理解和使用类。如果你有任何问题或建议,欢迎在评论区留言讨论!

2025-03-04 17:34:05 405

原创 75.继承计时器类 WPF例子 C#例子

是一个基于的简单定时器管理类,它通过设置和,实现了一次性定时任务的快速启动和执行。它的设计简洁易用,能够帮助开发者快速实现延时任务或一次性任务调度,而无需深入了解的复杂细节。如果你在项目中需要实现类似的定时功能,不妨尝试使用,它可能会成为你开发中的一个小帮手。希望这篇博客介绍能够帮助你更好地理解和使用类。如果有任何问题或建议,欢迎在评论区留言讨论!

2025-03-04 11:02:08 603

原创 74.时间显示的两种方法 WPF例子 C#例子

在实现时间显示的几种方法中,第一种方法源自Visual Studio的自动提示。在VS2022更新之后,开发体验仿佛被提升到了极致——注释自动生成,代码自动生成,程序员的大脑似乎都被解放了。正是在这样的背景下,我们设计了一个异步方法,其内部包含一个死循环,以高频率将当前时间实时更新到前台显示。这种方法简洁高效,代码清晰易懂。调用这个方法时,我们采用了Task.Run()的方式。这种方式的优势在于,我们无需等待异步操作完成,只需调用一次即可将其完全交给后台处理,无需再额外关注。

2025-02-28 14:31:41 398

原创 73.发布单文件 WPF例子 C#例子

3、两次都点文件夹,完成后点击查看配置文件的设置。6、该exe文件可以移动到任何位置,一点即用。5、点击发布,在对应文件夹下找到exe文件。

2025-02-27 19:28:42 306

原创 72.git指南(简单)

文件,以避免不必要的文件被 Git 跟踪。如果在初始化仓库后再配置。将本地仓库与远程 GitHub 仓库关联。文件,之前添加的文件仍会被跟踪,需要手动移除。如下例子忽略了文件夹及文件夹内所有内容。在开始之前,请确保你已经提前配置好。如果你的默认分支不是。

2025-02-15 13:44:56 293

原创 71.StackPanel黑白棋盘 WPF例子 C#例子

就是生成黑白棋盘,利用该控件能自动排列的功能。用一个横向的StackPanel嵌套纵向的StackPanel,然后在里面添加设定好长和高的矩形。因为StackPanel是按照控件的大小展示的。所以如果不设置长和宽。横向与纵向要设置,才能排列。

2025-02-06 17:25:25 384

原创 70.invoke委托打印Hello C#例子

定义委托并使用两种方式调用。

2025-02-06 15:46:34 104

原创 69.弹窗显示复杂的数据框图 C#例子 WPF例子

这是一个复杂的功能实现,其中日志管理器的一个实例包含需要被绑定的数据源。由于主窗口被复杂的内容填满,因此需要设计一个弹窗来专门显示数据框图。运行结果如下:弹出窗口显示了和主页面相同内容的数据框图。

2025-02-06 15:24:58 573

原创 68.浏览文件并选择文件 C#例子 WPF例子

方法用于显示这个对话框,并且它会以模态方式运行,这意味着用户必须关闭对话框才能继续与应用程序的其他部分交互。该代码会打开代码所在路径,你可以在里面创建文件夹,和文件,然后选中。文本框中就会填入选中文件的相对路径。是一个常用的对话框,允许用户浏览文件系统并选择文件。

2025-02-06 11:51:31 373

原创 67.为日志添加行号,第一行不加 C#例子

你可以自由的输入一些换行符,或者复制一片文章进去,然后运行代码就会发现有行号。事先要在本地创建一个叫该名称的文件,在代码路径下。

2025-02-06 11:30:47 239

原创 66.两组RadioButton的使用 C#例子 WPF例子

通过两组按钮,实现一个简单的乘法运算。RadioButton一组三个按钮一次只能点击一个。通过对名称进行Switch实现不同的赋值。

2025-02-06 11:11:39 395

原创 65.棋盘 C#例子 WPF例子

这是一个不具备任何功能的UI设计,使用矩形和边界和文字块。通过这些可以自由的创建不同显示效果的内容。

2025-02-06 09:51:19 362

原创 64.进度条 C#例子 WPF例子

进度条是比较简单,前台一个进度条,后台给value赋值0到100就可以显示进度了。

2025-02-05 19:26:02 535

原创 63.网页请求与按钮禁用 C#例子 WPF例子

首先,“wrap”在英文中意为“包裹”或“缠绕”,这个动作本身就包含了一种“围绕”或“覆盖”的意象。在计算机科学和编程领域,当文本内容超出其显示容器的宽度时,为了保持文本的完整性和可读性,就需要将文本内容换行到下一行。这个过程与“包裹”或“缠绕”的意象相似,因为文本被“包裹”或“缠绕”到了新的行中。这是一个简单的从网页获得一些数据的代码,使用了按钮禁用功能防止连续点击。来更新 UI,显示异常消息。先说结论,这里catch捕捉到的错误会被重新丢出,被调用这个函数的外部的catch重新捕捉。

2025-02-05 17:37:18 699

原创 62.异步编程+Prism

这种延迟初始化的技术有助于提升应用程序的性能和响应性,因为它允许你按需创建对象,而不是在应用程序启动时立即创建所有可能需要的对象。这种方法的好处是,它避免了在构造函数中不必要的初始化开销,特别是当命令的创建涉及复杂逻辑或资源消耗时。是一个空合并赋值运算符,它用于为可为空的变量或具有默认值类型的变量提供一个简洁的赋值方式,当且仅当该变量当前为。在Prism框架的上下文中,当你将命令属性定义为只读并希望它在首次被访问时才被创建时,可以使用。属性时,都会直接返回这个已经创建的命令实例,而不会再次执行初始化代码。

2025-01-26 10:18:59 415

原创 61.异步编程1 C#例子 WPF例子

前者是异步,后者则是普通的绑定任务。在前台实现的功能完全相同。但是后者却会导致前台卡死。

2025-01-26 09:56:36 1279

原创 60.await与sleep的原理分析 C#例子 WPF例子

会阻塞当前线程,因其是同步操作,暂停线程执行而不释放资源。这与异步编程旨在避免线程阻塞的目的相冲突。尽管异步方法可能包含其他。关键字是 C# 中用于异步编程的一部分,它们允许你以异步方式编写代码,而不会阻塞调用线程。,期间不阻塞线程,允许线程执行其他任务。因此,在异步编程中,应使用。这行代码通常只能在异步任务中使用,因为它依赖于。仍会立即阻塞线程,妨碍其处理其他任务或响应事件。是异步编程中的优选方式,用于模拟延迟。,以避免线程阻塞,提升应用程序性能和响应能力。对象,该对象在指定时间后完成。

2025-01-26 09:49:21 329

原创 59.Prism的按钮事件绑定和数据绑定

前置准备包括:安装Prism, DataContext=new ViewModel();,让类继承 internal class ViewModel:BindableBase。首先前台命令的绑定需要用Command。然后后台事件绑定需要三个内容。

2025-01-26 09:27:19 235

原创 58.界面参数传递给Command C#例子 WPF例子

当用户与界面元素交互(例如点击按钮)时,会触发绑定的命令。参数是从界面传递到命令的。同时,界面元素的 CommandParameter。界面参数的传递,界面参数是如何从前台传送到后台的。:在命令触发时,CommandParameter。由于这些方法接收的是已经转换为正确类型的。的 lambda 表达式中,param。:界面元素(如按钮)的 Command。方法(以检查命令是否可执行)。实例,因此可以直接读取其属性。到视图模型中的某个属性或直接。类型(这里假设传递的参数。ViewModel代码。

2025-01-23 16:56:44 1560

原创 57.有两个参数的Command C#例子 WPF例子

在编程中,Lambda表达式通常用于定义匿名函数,即没有具体名称的函数。方法的一个形式参数,而 lambda 表达式总是返回。在这个特定的例子中没有被实际使用,只是作为。两个Param都是object类型。被传递的同时,并用于。

2025-01-23 16:37:05 335

原创 56.命令绑定 C#例子 WPF例子

一共是两个控件,绑定了属性和命令。绑定到了一个事件,这个事件会在按钮点金时执行。Mycommand就是前台按钮绑定的属性。这里在构造函数中应用了依赖。

2025-01-23 15:40:03 781

原创 插曲.git在Visual Code的使用方法

Your Name。

2025-01-22 14:54:14 262

原创 55.命名、驼峰式、帕斯卡式 C#例子

帕斯卡式命名(PascalCase)是一种命名约定,它要求每个单词的首字母都大写,并且单词之间不使用分隔符(如空格、下划线或连字符)。这种命名方式常用于编程中,特别是在命名变量、函数、属性、类、接口等标识符时。驼峰式命名(camelCase)是一种在编程中广泛使用的命名约定,特别是在变量名、函数名、属性名等标识符的命名上。它的特点是第一个单词的首字母小写,而后续单词的首字母大写,单词之间不使用空格或分隔符。

2025-01-21 19:41:08 375

原创 54.DataGrid数据框图 C#例子 WPF例子

然后创建INotifyPropertyChanged的类,并把相关固定的代码粘贴上去。首先是绑定一个属性,属性名称无所谓。到时候看属性设置的啥,可能要改。再创建构造函数,搞三个实例,并赋值。最后一步,把窗口资源导向这个类的实例。然后把这个目录类建好,要用。用这个目录类创建属性。

2025-01-21 19:25:47 474

原创 53.Model理解

在MVVM架构的Model层中,我们主要定义的是数据模型(或称为实体类),这些类通常与应用程序中的实际业务对象相对应。这些类包含了业务对象的状态(通过属性表示)和行为(虽然行为通常较少,但可能包括一些基本的数据验证或计算逻辑)。

2025-01-21 10:58:08 427

原创 52.this.DataContext = new UserViewModel(); C#例子 WPF例子

对于这个(this)窗口(View),请使用这个实例(作为其数据源(DataContent)。

2025-01-21 10:50:35 521

原创 51.WPF应用加图标指南 C#例子 WPF例子

添加ico类型图片到项目里,设置为始终复制。然后右键项目属性,在图标设置中使用该图片。可自行改造ico为正方形,128*128分辨率,并把将背景剪掉只保留图标。ico图片可以不做进一步处理但可能会出现以下问题。然后你就可以得到一个自定义图标的WPF应用了。想要一个简单的图标可以通过文心一言AI直接生成。ico可以通过格式工厂转换普通图片获得。图片分辨率太高显示不了。图片比例不对显示异常。

2025-01-16 12:02:47 609

原创 50.AppendAllText C#例子

方法会自动创建该文件;如果文件已存在,则会在文件末尾追加指定的文本内容。类的一个静态方法,用于向指定的文件追加文本内容。如果指定的文件不存在,编码方式基本不用选,选了反而容易出错,如果不想看到一堆问号就别选了。特别强调,如果文件不存在,这个指令会创建该文件。

2025-01-16 11:57:37 367

原创 49.向配置文件写入 C#例子

属性返回当前应用程序域的基目录的路径。这通常是应用程序的启动目录,即包含应用程序可执行文件的目录。类代表一个应用程序域,它是.NET中用于隔离应用程序运行环境的机制。作为目录分隔符,这在Windows系统中同样有效,且不需要转义。在C#中,这行代码是用来构造一个指向配置文件(在这个例子中是。)的完整文件路径的字符串。在C#中,这行代码是用来构造一个指向配置文件(在这个例子中是。)的完整文件路径的字符串。的字符串变量,用于存储最终构造的文件路径。Path是文件的地址,包括该文件的命名。返回的路径与相对路径。

2025-01-16 11:55:28 537

45.<资源>番茄钟3.0 无代码 C#例子 WPF例子

番茄钟3.0,发布版,加入了Rank按钮,和Finish按钮

2025-01-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除