首页 > 其他分享 >WPF入门_02依赖属性

WPF入门_02依赖属性

时间:2024-10-17 21:19:11浏览次数:9  
标签:02 控件 依赖 入门 代码 初始值 WPF 属性

1、依赖属性主要有以下三个优点

1)依赖属性加入了属性变化通知、限制、验证等功能。这样可以使我们更方便地实现应用,同时大大减少了代码量
2)节约内存:在WinForm中,每个UI控件的属性都赋予了初始值,这样每个相同的控件在内存中都会保存一份初始值。而WPF依赖属性很好地解决了这个问题,它内部实现使用哈希表存储机制,对多个相同控件的相同属性的值都只保存一份
3)支持多种提供对象:可以通过多种方式来设置依赖属性的值。可以配合表达式、样式和绑定来对依赖属性设置值

2、依赖属性的定义

(参照代码:Person.cs)

1)让依赖属性的所在类型继承自DependencyObject类。代码片段(propdp)
2)使用public static 声明一个DependencyProperty的变量,该变量就是真正的依赖属性。
3)在类型的静态构造函数中通过Register方法完成依赖属性的元数据注册。
4)提供一个依赖属性的包装属性Name,通过这个属性来完成对依赖属性的读写操作。
5)在画面可以通过如下方式来绑定依赖属性Name
    <Label content="{Binding Name,RelativeSource={RelativeSource AncestorType=ContentControl(xml的类名)}}"

3、依赖属性的优先级

(参照代码࿱

标签:02,控件,依赖,入门,代码,初始值,WPF,属性
From: https://blog.csdn.net/soarfeng/article/details/143028422

相关文章

  • 物理 + 人工智能 = 2024年诺贝尔物理学奖
          ......
  • 20222301 2024-2025-1 《网络与系统攻防技术》实验三实验报告
    一、实验内容本次实验的目标在于运用多重加密、文件格式伪装、数据填充、加壳等技术方法达成恶意代码的免杀效果,生成恶意程序,并对其进行测试,以检验其能否成功躲避杀毒软件的检测。本次实验具体内容如下:1.正确使用msf编码器,使用msfvenom生成如jar之类的其他文件;2.能够使用veil,加壳......
  • 20222423 2024-2025-1 《网络与系统攻防技术》实验二实验报告
    1.实验内容主要学习了有关后门的攻击案例,后门造成的影响以及原理等,通过实验学会使用不同的工具实现对目标主机的渗透监听,获取主机shell等等,体会后门攻击的过程,从而增强自己的信息安全保护意识。1.1实验要求使用netcat获取主机操作Shell,cron启动某项任务(任务自定)使用socat......
  • 如何给VS2022的代码背景插入好看的图片呢?
    目录效果展示操作步骤效果展示在代码编辑区中插入了自己喜欢的图片!!!操作步骤步骤1:步骤2:搜索:ClaudiaIDE步骤3:步骤4:步骤5:步骤6:可以选择自己喜欢的图片。总结:画红色圈里面是一些参数,大家可以自行试一下,也可以和我保持一致。希望对大家有所帮助,希望大家会喜欢VS2022的......
  • 使用vs2022将.net8的应用程序发布为一个单独文件
    在使用.NetCore3.1时,可以通过设置以下工程配置文本来将项目发布为一个单独的应用程序文件:<ProjectSdk="Microsoft.NET.Sdk.WindowsDesktop"><PropertyGroup><TargetFramework>netcoreapp3.1</TargetFramework><UseWPF>true</UseWPF> <Publi......
  • 20240904
    ChangesinAntwanland我们可以考虑直接枚举根,我们假设从根出发的深度为\(i\)的结点数量为\(cnt_i\),那么我们只需要找到第一个\(cnt_1+cnt_2+...+cnt_x\geqk\)即可,但是一个点的中心有可能可以在边上,所以跑两边即可#include<bits/stdc++.h>usingnamespace......
  • 多校 A 层冲刺 NOIP2024 模拟赛 08
    多校A层冲刺NOIP2024模拟赛08T1传送(teleport)签到题性质题,注意到对于一个点而言有意义的传送的只有分别按\(x,y\)排序后与其相邻的点,证明考虑贪心手模即可。然后就能上最短路了,dj的时间复杂度为\(O((n+m)logn)\)。T2排列(permutation)签到题状压,注意到\(\dfrac......
  • 20240909
    DihedralGroup猜结论,我们观察样例就可以猜到,只要\(t\)可以被\(d\)在一个圆上正着或泛着表示即可#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongconstintN=5e4+5;intn,m,a[N],b[N],pos[N];signedmain(){cin>>n>>m;......
  • 20240911
    Jordan'sCastles我们先思考如何快速求出\(b_1,b_2,b_3...b_n\)显然我们可以直接用二分找到,然后我们可以直接将\(a_i\)改为\(min(a[i],b[i])\),然后统计答案即可#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongconstintN=1e5+5;int......
  • NOIP2020
    被树上的数打爆了,滚来写没有黑题的NOIP2020。排水系统题意:给定一张DAG,任意点度数不超过\(5\)。\(m\)个点有初始容量\(1\),一个点的容量会平均流给每条出边,求所有汇点的最终容量。数据范围:\(1\len\le10^5,\1\lem\le10\),保证任意一条源点到汇点的路径长不大于\(11\)......