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

17858833595做网站南京seo代理

17858833595做网站,南京seo代理,seo技术网站建设,wordpress使用html界面文章目录 简介一、安装工具包二、实现步骤1.按照MvvmLight 的结构创建对应文件夹和文件2.编辑 ViewModelLocator3.引用全局资源二、使用详情1.属性2.命令3. 消息通知4. 完整程序代码展示运行结果简介 CommunityToolkit.Mvvm 包(又名 MVVM 工具包,以前称为 Microsoft.Toolkit… 文章目录 简介一、安装工具包二、实现步骤1.按照MvvmLight 的结构创建对应文件夹和文件2.编辑 ViewModelLocator3.引用全局资源 二、使用详情1.属性2.命令3. 消息通知4. 完整程序代码展示 运行结果 简介 CommunityToolkit.Mvvm 包(又名 MVVM 工具包,以前称为 Microsoft.Toolkit.Mvvm)是一个现代、快速和模块化的 MVVM 库。 它是 .NET 社区工具包的一部分,围绕以下原则生成: 1、独立于平台和运行时 - .NET Standard 2.0、.NET Standard 2.1 和 .NET 6(与 UI 框架无关) 2、易于选取和使用 - 对应用程序结构或编码范例(“MVVM”之外)没有严格的要求,也就是可以灵活使用。 3、按需取用 - 自由选择要使用的组件。 4、引用实现 - 精简且高效,为基类库中包含的接口提供实现,但缺少直接使用它们所需的具体类型。 MVVM 工具包由 Microsoft 维护和发布,是 .NET Foundation 的一部分。 它还由几个内置于 Windows 的第一方应用程序(如 Microsoft Store)使用。 此包面向 .NET Standard,因此可在任何应用平台上使用:UWP、WinForms、WPF、Xamarin、Uno 等;并且可在任何运行时上使用:.NET Native、.NET Core、.NET Framework 或 Mono。 它在所有这些平台和运行时上都可运行。 API 图面在任何情况下都相同,因此非常适合生成共享库。 此外,MVVM 工具包还有一个 .NET 6 目标,用于在 .NET 6 上运行时实现更多内部优化。 在这两种情况下,公共 API 图面都是相同的,因此 NuGet 将始终解析包的最佳版本,使用者无需担心有哪些 API 可以在其平台上使用的问题。 一、安装工具包 首先创建一个WPF应用程序,这里命名为 CommunityToolkitDemo,目标框架为 .NET Framework 4.6.1 。Microsoft Visual Studio Enterprise 2022 (64 位) - 版本 17.10.4 。创建项目完成后,打开NuGet 包管理器,搜索 CommunityToolkit.Mvvm ,本例安装的是当前最新版 8.2.2 版本。如下所示: 二、实现步骤 1.按照MvvmLight 的结构创建对应文件夹和文件 创建 ViewModel 文件夹,创建 ViewModelLocator 文件,如下所示: 2.编辑 ViewModelLocator 代码如下(示例): public class ViewModelLocator{public static IServiceProvider ServiceProvide { get; set; }public ViewModelLocator(){ServiceProvide = GetService();}private IServiceProvider GetService(){var service = new ServiceCollection();service.AddSingletonMainViewModel();return service.BuildServiceProvider();}public MainViewModel Main{get{return ServiceProvide.GetServiceMainViewModel();}}}service.AddSingleton(); 每次新的ViewModel 就通过这里进行添加,然后在创建对应的属性名。 public MainViewModel Main{get{return ServiceProvide.GetServiceMainViewModel();}}3.引用全局资源 在 App.xaml 中将 ViewModel 作为资源添加引用。这里做法与MvvmLight 一致。 做完以上工作,我们就实现了像 MvvmLight 一样使用 CommunityToolkit.Mvvm 工具包。 二、使用详情 1.属性 [ObservableProperty]private string dateTimeStr;public string DateTimeStr{get { return dateTimeStr; }set{SetProperty(ref dateTimeStr, value);}}2.命令 public RelayCommandstring ButtonClickCmd { get; set; }public MainViewModel(){ButtonClickCmd = new RelayCommandstring(FunMenu);}public void FunMenu(string p){switch (p){case "最小化":WindowMin();break;case "最大化":WindowMax();break;case "关闭":AppClose();break;case "改变数值":ChangeValue();break;}}3. 消息通知 在MainViewModel 视图中发送三个消息,分别是窗体关闭、最大化和最小化功能实现。 private void AppClose(){WeakReferenceMessenger.Default.Send("MainWindowClose");}private void WindowMax(){WeakReferenceMessenger.Default.Send("MainWindowMax");}private void WindowMin(){WeakReferenceMessenger.Default.Send("MainWindowMin");}在 MainWindows 中实现消息的接受与处理 public MainWindow(){InitializeComponent();//消息注册RegisterMessage();}private void RegisterMessage(){WeakReferenceMessenger.Default.Registerstring(this,HandleMessage);}private void HandleMessage(object recipient, string message){switch (message){case "MainWindowClose":AppClose();break;case "MainWindowMax":MainWindowMax();break;case "MainWindowMin":MainWindowMin();break;}}4. 完整程序代码展示 项目目录结构: 1、App.xaml 文件代码如下: Application x:Class="CommunityToolkitDemo.App"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local="clr-namespace:CommunityToolkitDemo" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" d1p1:Ignorable="d" xmlns:d1p1="http://schemas.openxmlformats.org/markup-compatibility/2006"StartupUri="MainWindow.xaml"Application.ResourcesResourceDictionaryFontFamily x:Key="iconfont"/Assets/Fonts/#iconfont/FontFamilyvm:ViewModelLocator x:Key="Locator" d:IsDataSource="True" xmlns:vm="clr-namespace:CommunityToolkitDemo.ViewModel"/ResourceDictionary.MergedDictionariesResourceDictionary Source="/Assets/Styles/CommonStyleDictionary.xaml"//ResourceDictionary.MergedDictionaries/ResourceDictionary/Application.Resources /Application 2、MainWindow.xaml 文件代码如下: Window x:Class="CommunityToolkitDemo.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:CommunityToolkitDemo" mc:Ignorable="d"xmlns:viewmodel="clr-namespace:CommunityToolkitDemo.ViewModel" d:DataContext="{d:DesignInstance Type=viewmodel:MainViewModel}"DataContext="{Binding Source={StaticResource Locator},Path=Main}"Title="MainWindow" Height="450" Width="800" Background="#2b2b2b" ResizeMode="CanResize"AllowsTransparency="True" WindowStyle="None" WindowStartupLocation="CenterScreen"Window.ResourcesResourceDictionaryResourceDictionary.MergedDictionariesResourceDictionary Source="/Assets/Styles/SystemButton.xaml"//ResourceDictionary.MergedDictionaries/ResourceDictionary/Window.ResourcesViewbox x:Name="RootViewbox" Stretch="Fill"Grid x:Name="MainContent" ClipToBounds="True" Background="Transparent"Grid.RowDefinitionsRowDefinition Height="40"/RowDefinition Height="*"/RowDefinition Height="30"//Grid.RowDefinitions!--Grid 没有设置背景则不支持拖拽--Grid Grid.Row="0" Background="#1F2336"
http://www.hkea.cn/news/14446729/

相关文章:

  • 网站集约化建设的讲话网站建设经销商
  • 怎么修改网站源文件余姚企业网站建设公司
  • 五是做好纪检监察网站建设商务网站建设与维护(专21春)
  • 智能营销型网站制作竞价推广运营
  • php如何制作网站百度点击软件
  • 驾校网站建设方案题婚十大企业网站排行榜
  • 做实验学编程的网站专业的网站建设价格低
  • 网站新建需要多久自己开公司需要什么流程
  • 网网站建设与制作ipad wordpress 应用
  • 版式设计模板网站营销网络建设将给三夫户外带来哪些有益的影响?
  • 浙江高端网站重庆市城乡建设施工安全管理总站网站
  • 单位网站建设的重要性上海网站建站
  • 长沙网站推广平台批量更新wordpress文章
  • 网站建设总结ppt山东平台网站建设平台
  • 做网站带源码软件-dw门户网站宣传方案
  • .net 企业网站源码网站规划的解释
  • 公司内部网站开发兰溪好品质高端网站设计
  • 网站布局设计怎么写网站做视频的软件有哪些
  • 郑州模板建站多少钱网站建设套模板下载
  • 美工需要的网站电子商务网站建设第一章课后
  • 昆明网上商城网站建设有做网站维护的
  • 怎样建个网站网站推广优化排名教程
  • 手机网站开发基础盘锦做网站电话
  • 软件开发 网站建设 游戏开发seo网站案例
  • 网站开发项目报告书专业竞价托管哪家好
  • 网站单页面可以做302跳转吗手机网站免费生成
  • html网页源码下载湖南有实力的关键词优化
  • 适合穷人的18个创业项目太原优化网站排名
  • 安徽网站建设公司哪家好推荐好用的浏览器
  • 上海大型网站建设织梦cms同步wordpress