当前位置: 首页 > news >正文

手机网站静态模板免费技能培训在哪里报名

手机网站静态模板,免费技能培训在哪里报名,wordpress 学习群,正能量餐饮品牌全案设计公司CommunityToolkit.Mvvm,也称为MVVM工具包,是Microsoft Community Toolkit的一部分。它是一个轻量级但功能强大的MVVM(Model-View-ViewModel)库,旨在帮助开发者更容易地实现MVVM设计模式。 特点 独立于平台和运行时&a…

CommunityToolkit.Mvvm,也称为MVVM工具包,是Microsoft Community Toolkit的一部分。它是一个轻量级但功能强大的MVVM(Model-View-ViewModel)库,旨在帮助开发者更容易地实现MVVM设计模式。

特点

  • 独立于平台和运行时:支持.NET Standard 2.0、.NET Standard 2.1 和 .NET 6,与UI框架无关,可在UWP、WinForms、WPF、Xamarin、Uno等平台上使用。
  • 易于选取和使用:对应用程序结构或编码范例没有严格需求,可以灵活使用。
  • 按需取用:自由选择要使用的组件,所有类型都是松散耦合的。
  • 引用实现:为基类库中包含的接口提供实现,但缺少直接使用它们所需的具体类型。

用法

  1. 安装:在Visual Studio中,通过NuGet包管理器搜索并安装CommunityToolkit.Mvvm包,
  2. 引用:在项目中添加using CommunityToolkit.Mvvm;来使用新API。
  3. 实现MVVM:通过继承ObservableObject来创建ViewModel,利用SetProperty方法实现属性变更通知,以及使用RelayCommandAsyncRelayCommand来实现命令模式。

功能

该库提供了一些基础类和接口的实现,主要包括:

  • ObservableObject 和 ObservableRecipient:这些类实现了INotifyPropertyChanged接口,并提供了SetProperty方法,可以在属性值改变时触发PropertyChanged事件,简化数据绑定。
  • ICommand接口的实现,如RelayCommandAsyncRelayCommand:这些类可以帮助创建命令,命令是MVVM模式中的一个重要组成部分。
  • IMessenger和相关消息传递机制,如WeakReferenceMessengerStrongReferenceMessenger,用于组件间的松散耦合通信。

CommunityToolkit.Mvvm 包含的类型主要分为以下几个部分:

  1. CommunityToolkit.Mvvm.ComponentModel
    • ObservableObject:实现了 INotifyPropertyChanged 接口,用于创建响应属性变化的ViewModel。
    • ObservableRecipient:用于消息传递的基类。
    • ObservableValidator:用于数据验证的基类。
  2. CommunityToolkit.Mvvm.DependencyInjection
    • Ioc:提供依赖注入的容器和相关服务。
  3. CommunityToolkit.Mvvm.Input
    • RelayCommand:一个简单的命令实现,用于执行无参方法。
    • RelayCommand<T>:一个泛型版本的 RelayCommand,用于执行带参方法。
    • AsyncRelayCommand:一个异步命令实现,用于执行异步无参方法。
    • AsyncRelayCommand<T>:一个异步命令实现,用于执行异步带参方法。
    • IRelayCommandRelayCommand 的接口定义。
    • IRelayCommand<T>RelayCommand<T> 的接口定义。
    • IAsyncRelayCommandAsyncRelayCommand 的接口定义。
    • IAsyncRelayCommand<T>AsyncRelayCommand<T> 的接口定义。
  4. CommunityToolkit.Mvvm.Messaging
    • IMessenger:消息传递接口,定义了消息发送和订阅的方法。
    • WeakReferenceMessenger:一个使用弱引用的消息传递类,用于避免内存泄漏。
    • StrongReferenceMessenger:一个使用强引用的消息传递类。
    • IRecipient<TMessage>:消息接收者接口,用于接收特定类型的消息。
    • MessageHandler<TRecipient, TMessage>:消息处理程序,用于处理特定类型的消息。
  5. CommunityToolkit.Mvvm.Messaging.Messages
    • PropertyChangedMessage<T>:用于属性变化的消息。
    • RequestMessage<T>:用于请求特定类型响应的消息。
    • AsyncRequestMessage<T>:异步版本的 RequestMessage<T>
    • CollectionRequestMessage<T>:用于集合操作的请求消息。
    • AsyncCollectionRequestMessage<T>:异步版本的 CollectionRequestMessage<T>
    • ValueChangedMessage<T>:用于值变化的消息。

CommunityToolkit.Mvvm 还提供了一些关键属性和功能

  1. ObservableObject
    • ObservableObject 是 CommunityToolkit.Mvvm 库中的一个基础类,它实现了 INotifyPropertyChanged 接口。这个接口是 .NET 数据绑定基础架构的一部分,当对象的一个属性改变时,它会通知绑定到该属性的任何元素。
    • 用法:ViewModel 通常会继承自 ObservableObject 类。
    • 示例代码
      public class MyViewModel : ObservableObject
      {private string _myProperty;public string MyProperty{get => _myProperty;set => SetProperty(ref _myProperty, value);}
      }
  2. [ObservableProperty] 属性
    • [ObservableProperty] 是一个特性(Attribute),用于自动生成可观察属性的 getter 和 setter,这些属性会在值改变时触发 PropertyChanged 事件。
    • 用法:直接在 ViewModel 的属性上使用 [ObservableProperty] 特性。
    • 示例代码
      public partial class MyViewModel : ObservableObject
      {[ObservableProperty]private string? _name;
      }
      这将生成一个类似下面的可观察属性:
      public string? Name
      {get => _name;set => SetProperty(ref _name, value);
      }
  3. [RelayCommand] 属性
    • [RelayCommand] 是一个特性,用于创建命令。命令是 MVVM 模式中的一个重要组成部分,用于将 View 的行为(如按钮点击)绑定到 ViewModel 中的方法。
    • 用法:在 ViewModel 中的方法上使用 [RelayCommand] 特性。
    • 示例代码
      public partial class MyViewModel : ObservableObject
      {[RelayCommand]private void ExecuteCommand(){// Command execution logic here}
      }
      这将生成一个 ICommand 实现,可以被 View 绑定。
其他属性
  1. RelayCommandAsyncRelayCommand

    • 这些类实现了 ICommand 接口,用于创建命令,是 MVVM 模式中命令模式的实现。
  2. IMessenger

    • 消息传递接口,用于在不同的 ViewModel 或 View 之间传递消息,实现组件间的松散耦合通信。
  3. PropertyChangedMessage<T>

    • 用于属性变化的消息,是 IMessenger 接口实现中用于传递属性变更通知的一种消息类型。
  4. RequestMessage<T>AsyncRequestMessage<T>

    • 用于请求特定类型响应的消息,其中 AsyncRequestMessage<T> 是异步版本的请求消息。
  5. CollectionRequestMessage<T>AsyncCollectionRequestMessage<T>

    • 用于集合操作的请求消息,其中 AsyncCollectionRequestMessage<T> 是异步版本的集合请求消息。
  6. ValueChangedMessage<T>

    • 用于值变化的消息,是 IMessenger 接口实现中用于传递值变更通知的一种消息类型。

CommunityToolkit.Mvvm 的框架类 

  1. CommunityToolkit.Mvvm.ComponentModel
    • ObservableObject:实现了 INotifyPropertyChanged 和 INotifyPropertyChanging 接口,用于创建响应属性变化的 ViewModel。
    • ObservableRecipient:用于消息传递的基类。
    • ObservableValidator:用于数据验证的基类。
  2. CommunityToolkit.Mvvm.DependencyInjection
    • Ioc:提供依赖注入的容器和相关服务。
  3. CommunityToolkit.Mvvm.Input
    • RelayCommand:一个简单的命令实现,用于执行无参方法。
    • RelayCommand<T>:一个泛型版本的 RelayCommand,用于执行带参方法。
    • AsyncRelayCommand:一个异步命令实现,用于执行异步无参方法。
    • AsyncRelayCommand<T>:一个异步命令实现,用于执行异步带参方法。
    • IRelayCommandRelayCommand 的接口定义。
    • IRelayCommand<T>RelayCommand<T> 的接口定义。
    • IAsyncRelayCommandAsyncRelayCommand 的接口定义。
    • IAsyncRelayCommand<T>AsyncRelayCommand<T> 的接口定义。
  4. CommunityToolkit.Mvvm.Messaging
    • IMessenger:消息传递接口,定义了消息发送和订阅的方法。
    • WeakReferenceMessenger:一个使用弱引用的消息传递类,用于避免内存泄漏。
    • StrongReferenceMessenger:一个使用强引用的消息传递类。
    • IRecipient<TMessage>:消息接收者接口,用于接收特定类型的消息。
    • MessageHandler<TRecipient, TMessage>:消息处理程序,用于处理特定类型的消息。
  5. CommunityToolkit.Mvvm.Messaging.Messages
    • PropertyChangedMessage<T>:用于属性变化的消息。
    • RequestMessage<T>:用于请求特定类型响应的消息。
    • AsyncRequestMessage<T>:异步版本的 RequestMessage<T>
    • CollectionRequestMessage<T>:用于集合操作的请求消息。
    • AsyncCollectionRequestMessage<T>:异步版本的 CollectionRequestMessage<T>
    • ValueChangedMessage<T>:用于值变化的消息。

CommunityToolkit.Mvvm是一个现代、快速和模块化的MVVM库,它提供了尽可能大的灵活性,让开发人员可以自由选择要使用的组件,以最符合需求的方式组合这些生成块。 

http://www.hkea.cn/news/976997/

相关文章:

  • 永久免费建个人网站培训网站建设
  • 如何使用jq做弹幕网站好用的磁力搜索引擎
  • 南充营销型网站建设高端品牌网站建设
  • 制作小程序和网站的公司搜狗收录提交入口网址
  • 手机站电影基础建站如何提升和优化
  • 江苏 网站备案百度贴吧官网app下载
  • 网站制作三站湖南网站seo公司
  • 简单做任务赚钱网站企业管理培训课程报名
  • 零点研究咨询集团官方网站建设相似图片在线查找
  • 网站开发需要什么软件关键词app
  • 360全景网站建设做了5天游戏推广被抓了
  • 政府网站建设经验典型材料河源今日头条新闻最新
  • 为什么要进行网站备案佛山市人民政府门户网站
  • 摄影网站开发背景百度app交易平台
  • 吉林网站建设石家庄百度快照优化排名
  • 大学生网站开发总结报告app推广接单发布平台
  • 自己做的网站怎么推广seo顾问培训
  • 怎么做业务网站百度搜索提交入口
  • 网页设计网站图片西安百度推广运营公司
  • 济南网站开发推广网络服务包括
  • 五星级酒店网站建设关键词歌词表达的意思
  • 浙江高端建设网站网站关键词如何优化
  • 2017网站开发工程师五合一网站建设
  • 学编程的孩子有什么好处seo网站诊断文档案例
  • 广州中新知识城开发建设网站无锡百姓网推广
  • 宝鸡做网站费用关键词你们懂的
  • wordpress 仿站 教程百度竞价点击一次多少钱
  • 做h的游戏 迅雷下载网站百度推广管家
  • 营销型网站建设的目的外贸网站平台都有哪些 免费的
  • 广东做网站公司广州从化发布