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

网站建设方案的含义asp网站下载

网站建设方案的含义,asp网站下载,网站开发 0755,邢台招聘信息最新招聘2023最近学习了一下MvvmLight#xff0c;觉得有些功能还是挺有特色的#xff0c;所以记录一下 首先新建也给WPF程序 然后在Nuget里面安装MvvmLightLib 包#xff0c;安装上面那个也可以#xff0c;但是安装上面那个会自动在代码里面添加一些MvvmLight的demo #xff0c;安装M…最近学习了一下MvvmLight觉得有些功能还是挺有特色的所以记录一下 首先新建也给WPF程序 然后在Nuget里面安装MvvmLightLib 包安装上面那个也可以但是安装上面那个会自动在代码里面添加一些MvvmLight的demo 安装MvvmLightLib比较纯净 安装完成后在App.cs 里面重写一下OnStartup方法让程序启动的时候初始一下IOC容器和DispatcherHelper。其实这两步也可以放在其他地方比如放在构造函数里面或者其他地方也是可以的没有特殊要求 MvvmLight的依赖属性 新建一个 MainViewModel 类  让实体类继承ViewModelBase类然后在属性的set访问器里面加上RaisePropertyChanged();就实现了MVVM这比WPF原生的MVVM简单很多 MvvmLight的命令绑定 然后在界面上绑定命令 Button Content把名字修改成张三 Command{Binding BtnCommand} CommandParameter张三/Button 这个是带参数的命令如果不需要带参数那么直接把参数删掉就行 MvvmLight的messenger 这个是MvvmLight的最有亮点的功能了 Messenger.Default.Send(aaaa, myToken); 第一个参数是发送消息的内容第二个参数是token的名称所有此toten的注册者都能收到消息 按钮点击发送后构造函数中的两个注册者都能收到消息。注册者可以在Model中或者在其他的地方都能收到这比使用委托更简单。 MvvmLight跨线程访问控件 DispatcherHelper.CheckBeginInvokeOnUI(()                 {                 }); 这个方法可以跨线程访问控件在实体类中不能用invoke的时候就可以用这种方法 以上就是MvvmLight最实用的功能其他花哨的功能我感觉用处不大 以下是完整代码 app.cs using CommonServiceLocator; using GalaSoft.MvvmLight.Ioc; using GalaSoft.MvvmLight.Threading; using MvvmLightDemo.ViewModels; using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Linq; using System.Threading.Tasks; using System.Windows;namespace MvvmLightDemo {/// summary/// App.xaml 的交互逻辑/// /summarypublic partial class App : Application{protected override void OnStartup(StartupEventArgs e){#region 注册MvvmLight的IOCServiceLocator.SetLocatorProvider(() SimpleIoc.Default);SimpleIoc.Default.RegisterMainViewModel();#endregionDispatcherHelper.Initialize(); //用于判断修改属性的时候是否处于UI线程首先初始化一下base.OnStartup(e);}} }MainWindow :  Window x:ClassMvvmLightDemo.MainWindowxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:dhttp://schemas.microsoft.com/expression/blend/2008xmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006xmlns:localclr-namespace:MvvmLightDemomc:IgnorabledTitleMainWindow Height350 Width525GridStackPanelTextBlock Text{Binding Name}/TextBlockButton Content把名字修改成张三 Command{Binding BtnCommand} CommandParameter张三/ButtonButton ClickButton_Click Content发送消息/ButtonButton ClickButton_Click_1 Content使用子线程修改数据/ButtonItemsControl ItemsSource{Binding NameList}/ItemsControl/StackPanel/Grid /Window using CommonServiceLocator; using GalaSoft.MvvmLight.Messaging; using GalaSoft.MvvmLight.Threading; using MvvmLightDemo.ViewModels; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes;namespace MvvmLightDemo {/// summary/// MainWindow.xaml 的交互逻辑/// /summarypublic partial class MainWindow : Window{public MainWindow(){InitializeComponent();var model ServiceLocator.Current.GetInstanceMainViewModel();this.DataContext model;Messenger.Default.Registerstring(this, myToken, (str) {Console.WriteLine(str);});Messenger.Default.Registerstring(this, myToken, (str) {Console.WriteLine(str);});}private void Button_Click(object sender, RoutedEventArgs e){Messenger.Default.Send(aaaa, myToken);}private void Button_Click_1(object sender, RoutedEventArgs e){Task.Run(() {DispatcherHelper.CheckBeginInvokeOnUI(() {var model ServiceLocator.Current.GetInstanceMainViewModel(); //在IOC容器中获取单例model.NameList.Add(aaa);model.NameList.Add(bbb);model.Name 34242;});});}} }MainViewModel using GalaSoft.MvvmLight; using GalaSoft.MvvmLight.Command; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Input;namespace MvvmLightDemo.ViewModels {public class MainViewModel : ViewModelBase{#region MvvmLight的依赖属性private string name 默认名字;public string Name{get { return name; }set{name value;RaisePropertyChanged(); //加上了这行代码属性就具有了通知功能}}#endregionprivate ObservableCollectionstring nameList new ObservableCollectionstring() { 默认1, 默认2 };public ObservableCollectionstring NameList{get { return nameList; }set{nameList value;}}#region MvvmLight的命令绑定private ICommand btnCommand;public ICommand BtnCommand{get{if (btnCommand null){btnCommand new RelayCommandstring(DoCommand);}return btnCommand;}set { btnCommand value; }}private void DoCommand(string str){Name str;Console.WriteLine(str);}#endregion} }
http://www.dnsts.com.cn/news/125769.html

相关文章:

  • 网站建设设计公司+知乎网站备案失败
  • 外国知名个人网站提供网站建设服务
  • 石狮网站定制网站模版修改
  • 周口市住房和城乡建设局门户网站工厂仓库管理系统erp
  • 做网站的博客wordpress图片批量上传插件
  • iis建好的网站套用模板企业推广策划方案
  • 2008 iis 添加 网站 权限设置权限设计理念简短范文
  • 那种网站怎么搜关键词厉害的seo顾问
  • 网站建设微享互动昆明网页设计培训机构
  • 网站服务器放置地哈尔滨网站建设 博客
  • 做网站1核1g服务器够吗安徽湖滨建设集团有限公司网站
  • 出口退税在哪个网站做网络工程师难学吗
  • 套模板做网站电话怎么做网站赚钱放广告
  • 红谷滩园林建设集团有限公司 网站中小企业网络设计与实现
  • 陕西省交通建设厅网站软文推广页面
  • 东莞网络推广网站自己如何做简单网站
  • 自建网站营销是什么微博营销
  • 魅族的网站建设与安全做挂广告网站
  • 西安关键词网站排名企业网站设计wordpress
  • 邢台做网站推广报价沈阳做企业网站的公司
  • 百度网站建设是什么手机网站模版免费下载
  • 网站如何防止被攻击seo需要培训才能找到工作吗
  • .net flash网站模板做电影资源网站服务器怎么选
  • 烟台网站建设费用房屋设计网站推荐
  • 网站服务方案百汇游戏网站开发商
  • 做网站用vs还是dwhtml网站制作答辩问题
  • 网站查询系统怎么做如何让做网站
  • 网站建设未来发展前景新手建站工具
  • 免费手机网站建站系统桂林必去五个景点
  • 广西网站建设定制做门户网站最重要的是什么意思