
C# WPF WinForm高手编程
文章平均质量分 62
和我一起成为 C# .Net平台下的企业级开发高手!
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
程序员乐逍遥
15年C/C++跨平台开发资深程序员、想跟我学编程的可以观看我精心录制的视频课程!
展开
-
真正的理解WPF中的TemplatedParent
将 TextBlock的 Text属性设置为 它的模板父级对象(这里就是Button) 的 Content 属性。意思是 和这个控件的 模板上的 父亲,如果这个控件不是模板创建的,那么这个值就没用。这里的 TextBlock 控件就是从模板中创建的,那么 TextBlock 的。属性就是它的父级对象:Button ,那怎么验证呢?这里印证了 TextBlock 的。属性就是它的父级对象:Button。黄老师来给你举个例子,看下面的代码。童鞋们在WPF中经常看到。是不是看的一脸蒙圈?原创 2023-07-18 14:17:44 · 1427 阅读 · 0 评论 -
c#中event 事件中的 add与remove
最好的解决方案是根本不要为包容类外部的对象提供对赋值操作符(=)的支持。event关键字的作用就是提供额外的封装,避免不小心取消了其他订阅者。如果给一个委托对象追加订阅者,本应用+=号,结果误操作用成了=号,则表面上会清空委托对象的所有目标方法,即清空所有订阅者。编译器对事件上的+=和-=运算符操作相应地调用事件的add或remove访问器。add和remove关键字明确了事件的访问器,就像属性的访问器那样。首先,为什么需要event?下面这种写法也是对的。原创 2023-07-09 17:50:53 · 2058 阅读 · 0 评论 -
C# 中的Invoke方法
Invoke 是委托类型的实例方法,用于调用委托所引用的方法。委托是一种类型,它允许我们将方法作为参数传递并存储在字段或属性中。当委托实例被调用时,它会调用与之关联的方法。可以使用 += 运算符将一个方法添加到委托中,使用 -= 运算符将其从委托中删除。在具体使用上,委托被定义为一个类实例,其具有与特定方法签名匹配的方法。每个委托实例都与一个特定方法绑定,并且可以通过委托实例调用该方法。使用event修饰的委托,就变成了事件,在类外部是不能把该委托当做方法直接调用的,这就是用不用event的区别。原创 2023-07-09 16:59:39 · 3558 阅读 · 0 评论 -
C#中问号?的作用
C#中的值类型指的是结构体类型和枚举类型, 它们不允许被赋予null值,因为null一般是赋值给引用。原创 2023-07-07 16:40:53 · 865 阅读 · 0 评论 -
C#中委托(delegate) 事件(event) Action<T>和Func<T,TResult>(泛型委托) 的区别
事件是基于委托的,为委托提供一个订阅或发布的机制。事件是一种特殊的委托,调用事件和委托是一样的。事件可以被看作是委托类型的一个变量,可以通过+=为事件注册委托;泛型委托解决了定义委托(不需要自己再命名委托),使用泛型委托后不用再自己定义委托,提高了使用委托效率。委托是一种引用类型,表示对具有特定参数列表和返回类型的方法的引用,相当于C++中函数指针 的概念。Func 最多支持16个参数,有返回值。Action 最多支持16个参数。封装一个方法,该方法有。原创 2023-07-07 16:19:40 · 864 阅读 · 0 评论 -
C#的get和set的各种写法集锦
C#的get和set的各种写法集锦原创 2023-07-07 15:35:56 · 2596 阅读 · 0 评论 -
WPF 的几种模板概念
其中ControlTemplate和ItemsPanelTemplate是控件模板,DataTemplate是数据模板,他们都派生自FrameworkTemplate抽象类。ItemsPanelTemplate在MSDN的解释是:ItemsPanelTemplate 指定用于项的布局的面板。我们先讲ItemTemplate。它一般用在多个内容控件的模板。比如ListBox。具有一个类型为 ItemsPanelTemplate 的。类型具有一个类型为ItemsPanelTemplate 的。原创 2023-06-26 10:32:52 · 688 阅读 · 0 评论 -
WPF DataGrid 控件没有空白行的解决方法
最近做WPF的 DataGrid 项目,发现了一个奇怪的问题:我们绑定了数据源后,默认是有个空白行的,这个可以允许用户输入新的一行数据。但是,我再创建另外一个窗口的时候,突然发现没有这个空白行了,很奇怪仔细查阅了下资料:在WPF的DataGrid中,如果没有显示新的空白行,可能是因为以下原因:DataGrid的CanUserAddRows属性被设置为false。如果这个属性被设置为false,用户就不能手动添加新的行到DataGrid中。可能是样式问题。原创 2023-06-21 14:39:53 · 959 阅读 · 0 评论 -
Visual Studio 2017使用SQL Server Express LocalDB 连接到数据库文件
选择 服务器资源管理器 、添加连接、服务器资源管理器用于管理数据库连接、移动服务、应用服务等。如果你的VS确少相关组件,会提示下载的。右键-》属性-》可以查看连接字符串。首先,你必须要要数据库文件,例如。连接成功后,可以查看里面的数据。最后在代码里面,使用这个字符串。选择数据库 mdf文件。原创 2023-03-24 19:37:42 · 730 阅读 · 0 评论 -
彻底掌握XML,看这一篇就足够啦
ML(标记语言)是用标准的标记来解释纯文本文档的内容,从而提供关于文档结构或文档该如何渲染的信息。GML(通用标记语言)由 Charles Goldfarb,Edward Mosher 和 Raymond Lorie 三位大神于1969年和1970年代开发(Goldfarb 使用姓氏的缩写来缩写 GML)。GML是用来搞IBM的文档组成工具的,也是这个工具的主要组件。但是随着计算机的发展,这种语言已经变得相对落后和单一了,所以才诞生了儿子SGML,来一统世界。什么是SGML?原创 2023-03-16 14:07:40 · 415 阅读 · 0 评论 -
.NET Framework .NET Core与 .NET 的区别
本主要介绍一下.NET Core 、 .NET 5、.NET 6和.NET 7简介及区别。.NET Core 是由许多项目所组成,除了基本的类库(Core FX) 之外,也包含采用 RyuJIT 编译的运行平台 Core CLR、编译器平台.NET Compiler Platform、采用 AOT 编译技术运行最优化的包 Core RT (.NET Core Runtime),以及跨平台的 MSIL 编译器 LLILC (LLVM-based MSIL Compiler) 等项目。原创 2023-03-11 15:30:00 · 1739 阅读 · 0 评论