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

17858833595做网站软件开发项目经理职责

17858833595做网站,软件开发项目经理职责,上海 网站建设 500强,网站开发工程师需要什么技术文章目录 简介一、安装工具包二、实现步骤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/14404230/

相关文章:

  • shopify网站建设页面设置怎么设置
  • 怎样才能做好网站优化网站建设中间件收费
  • 宁波网站建设制作订做建设邯郸网站
  • visual studio制作网站开发优秀网站大全
  • 江西恒通建设工程有限公司网站深圳云购网站制作
  • 深圳网站建设公司为什公司网站建设合同 华律网
  • 史家小学网站建设网站素材资源
  • 网站建设与网页制作技术绍兴seo全网营销
  • 成都做seo网站公司建设银行信用卡被钓鱼网站
  • 购物网站制作公司搜狗优化好的网站
  • 怎么知道网站关键词的搜索来源如何做h5简历制作网站
  • 黄冈网站建设哪家便宜网络营销大赛策划书
  • 定制高端网站建设怎么在百度首页做网站
  • 廊坊百度推广网站设计wordpress 上帝模式
  • 视频网站开发技术书美食网站开发与研究 论文
  • 公司建立网站的费用如何做帐微信支付需要网站备案
  • 简单网站建设哪家便宜四川省工程建设信息网
  • 网站f式布局网站开发工作室策划案
  • 东莞网站关键词我的世界电影怎么做的视频网站
  • 苏州招聘网站制作在大学里网站建设属于什么专业
  • 我们的优势的网站高端医疗网站建设
  • 可以做cps合作的棋牌网站北京网站设计外包公司价格
  • 网站开发售后工作有那种做订单的网站吗
  • html做网站实战教程visio网站建设流程图
  • 网站检索 标签软文发稿平台有哪些
  • 网站开发选什么职位外贸精品网站建设
  • 关于网站建设营销类文章荆州公司网站建设
  • 定州三公司网站小程序分销功能是怎么实现的
  • 网站运营管理做环卫车怎么做网站
  • 三亚旅游网站策划书查网站怎么做的