WPF CommunityToolkit.Mvvm学习-一ObservableProperty 属性

news/2025/12/6 17:03:23/文章来源:https://www.cnblogs.com/yue-ge6/p/19316203

  官方文档:MVVM 工具包简介 - Community Toolkits for .NET | Microsoft Learn

Mvvm:

uget安装

如下图操作

image

image

工程文件有以下内容

image

引用:

1 using CommunityToolkit.Mvvm.ComponentModel;

ObservableProperty 属性

使用方法

private字段上有 [ObservableProperty]标记,CommunityToolkit.Mvvm会自动给它生成一个对应的public属性,并在属性值改变时自动触发属性变更通知。

例如在MainViewMode.cs写以下代码

 1 // 必须加上partial修饰,不然报错
 2 public partial class MainViewMode:ObservableObject
 3 {
 4     // CommunityToolKit.Mvvm属性写法
 5     [ObservableProperty]
 6     private string? titleText;
 7  
 8     // 使用[ObservableProperty]自动生成以下屏蔽代码
 9     //public string? TitleText
10     //{
11     //    get => titleText;
12     //    set => SetProperty(ref titleText, value); // 自动通知UI更新
13     //}
14  
15     // 一般的属性写法
16     private string? name;
17  
18     public string? Name
19     {
20         get => name;
21         set => SetProperty(ref name, value); // 自动通知UI更新
22     }
23 }

在MainWindow.xaml.cs中实例化

image

 

 MainWindow.xaml中

 1     <Grid>
 2         <Grid.ColumnDefinitions>
 3             <ColumnDefinition Width="*"/>
 4         </Grid.ColumnDefinitions>
 5         <StackPanel>
 6             <TextBlock Text="{Binding Name}" Margin="5" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="40" />
 7             <TextBlock Text="{Binding TitleText}" Margin="5" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="40" />
 8             <Button Content="按键" Margin="5"/>
 9         </StackPanel>
10     </Grid>

最终生成点击运行

image

由以上内容初步介绍了CommunityToolKit.Mvvm


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/990399.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

路由注入

单点多向注入在R5上引入Loop55到ospf 路由引入cost值 ISIS ISIS的开销类型为narrow时,cost-type { external | internal }参数的配置在会影响引入路由的cost值: 引入的路由开销类型配置为external时,路由cost值=源路…

P2542 [AHOI2005] 航线规划の题解

题目传送门 这种图论题目其实应该用图论的方法,也就是双连通分量,但本蒟蒻太菜了,不会,只好用动态树(LCT)水过去了 题目描述 有一个无向图,初始时给定 \(n\) 个顶点和 \(m\) 条边的连接情况。随后依次执行 \(Q\) …

实用指南:C++幻象:内存序、可见性与指令重排

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

详细介绍:二手车销售|汽车销售|基于SprinBoot+vue的二手车交易系统(源码+数据库+文档)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

host

关于成立AI+X赋能工作专班的通知 为贯彻落实国家人工智能赋能教育战略,加快推进教育数字化转型与科技创新融合发展,充分发挥人工智能技术在提升人才培养质量中的关键作用,打造具有学校特色AI赋能模式,经校长办公会…

可视化图解算法72:斐波那契数列

对于数据结构与算法,我们总结了一套【可视化+图解】方法,依据此方法来解决相关问题,算法变得易于理解,写出来的代码可读性高也不容易出错。具体也可以参考视频详细讲解。1.题目 描述 大家都知道斐波那契数列,现在…

可视化图解算法72:斐波那契数列

对于数据结构与算法,我们总结了一套【可视化+图解】方法,依据此方法来解决相关问题,算法变得易于理解,写出来的代码可读性高也不容易出错。具体也可以参考视频详细讲解。1.题目 描述 大家都知道斐波那契数列,现在…

高中学习机挑选三步法:锁定这三大维度,快速找到你的“学霸机”

高中阶段的学习节奏快、知识点密集,一台合适的学习机往往能成为提升效率的辅助工具。但面对市场上种类繁多的产品,很多家长和学生容易陷入选择困境,不知从何入手。其实,挑选高中学习机无需复杂的参数对比,只需聚焦…

实验三

任务一:导入数据创建两个数据表Hive QL代码USE default; -- 选择使用名为 default 的数据库DROP TABLE IF EXISTS ccf_offline_stage1_train; CREATE TABLE ccf_offline_stage1_train (user_id STRING,merchant_id S…

实验五

task1.11 #include <stdio.h>2 #define N 53 4 void input(int x[], int n);5 void output(int x[], int n);6 void find_min_max(int x[], int n, int *pmin, int *pmax);7 8 int main() {9 int a[N]; 10 …

2025年12月新能源汽车轮胎推荐:最新电车胎精选指南

2025年12月新能源汽车轮胎推荐:最新电车胎精选指南在电动化浪潮席卷全球的当下,新能源汽车轮胎推荐正从边缘话题跃升为车主购胎决策的核心议题。不同于传统燃油车,新能源车因整车质量增加、瞬时扭矩爆发力强劲、发动…

第3章栈和队列

第3章栈和队列 3.1栈的定义和特点 1.章节定位与学习框架 (1)数据结构板块划分 数据结构模块分为上下两篇,整体学习顺序如下:上篇(线性结构):第 2 章 线性表 → 第 3 章 栈和队列(本章) 下篇(非线性结构):第…

2025年操控的轮胎推荐:十大操控胎深度解析

2025年操控的轮胎推荐:十大操控胎深度解析在高端驾驶体验日益成为用户核心诉求的当下,2025年操控的轮胎推荐正迅速从边缘话题跃升为乘用车后市场的焦点议题。来自终端用户的密集反馈表明,转向模糊、响应迟滞、干湿地…

2025年美国投行求职机构哪家高效不爆雷:助学员成本降60%offer量产

2025年美国投行求职机构哪家高效不爆雷:助学员成本降60%offer量产在北美投行求职这条竞争激烈的赛道上,无数华人留学生正被多重困境围困:方向感缺失令他们对投行岗位分类模糊、目标定位不清;资源匮乏使得内推渠道闭…

Go 语言(Golang):核心特性、生态优势与实战应用全解析

Go 语言(又称 Golang)是 Google 于 2009 年推出的静态强类型编程语言,由 Ken Thompson、Rob Pike 等编程大师主导设计,核心定位是 “高效、简洁、并发友好”,兼顾 C 语言的性能与 Python 的开发效率,专为解决大规…

详细介绍:《Windows 服务器 WinSCP 保姆级配置指南:从 0 到 1 实现 “无痛” 远程文件管理》

详细介绍:《Windows 服务器 WinSCP 保姆级配置指南:从 0 到 1 实现 “无痛” 远程文件管理》2025-12-06 16:38 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !impo…

多项式学习笔记

多项式学习笔记1. 阶 1.1. 定义 假设模数 m 和底数 a 互质。 对于 \(n\in Z\),\(a^n \bmod m\) 呈循环结构,这种循环节的最小长度就是 a 模 m 的阶。 准确来说,对于 \(a\bot m\),满足同余式 \(a^n\equiv 1(\bmod m…

Kubernetes(K8s):核心概念、架构与实战应用全解析

Kubernetes(简称 K8s)是 Google 基于 Borg 系统开源的容器编排与集群管理平台,核心定位是 “自动化部署、扩展和管理容器化应用”,通过统一的调度、编排、运维机制,解决容器化应用在大规模集群中的部署复杂、扩缩…

从零到实战:Go 语言高效学习路线

Go 语言(Golang)以 “简洁、高效、并发友好” 为核心优势,学习门槛低于 C++/Java,且生态聚焦云原生、微服务等热门场景,适合零基础或转语言开发者快速上手。以下是一套 “基础入门→核心深化→实战落地→生态拓展…

每个人都在追寻远方,那远方的人是否也有自己的远方呢?

1高中毕业以后,终于不用写那些公式思辨公式论证的狗屁文章了。 icpc香港站之后,我们队确定没法参加这个赛季的ec final了,于是一下子周末从0休变成了2休,算上把周五的课全部翘掉就变成了3休,算上把周1234的课都翘…