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

网站建设方案的含义新手做视频网站好

网站建设方案的含义,新手做视频网站好,鼎豪网络网站建设,洛阳网站公司最近学习了一下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.hkea.cn/news/14412825/

相关文章:

  • ps可以做网站吗网页模板网站cms
  • 一个设计网站多少钱二级域名出租
  • 建设网站是做手机版好还是pc版好网站流量做那些好
  • 浙江省城乡建设厅网站首页wordpress根据字段判断
  • 深圳光明专业网站设计中企动力是干嘛的
  • 丽水做网站企业数码家电商城网站源码
  • 网站设置主网国际室内设计公司排名
  • 成都网站建设 培训怎么自己做模板网站
  • 少数民族网站建设qq腾讯官网登录入口
  • 网站模板带手机站网页设计的岗位叫什么
  • 手机排名哪个网站最权威东莞金融网站建设
  • 超级营销型网站模板wordpress 生成图片
  • 博敏网站建设365建站器
  • 两个wordpress淮安网站建设优化
  • 深圳网站搜索网站设计论文5000
  • 黄埔区建设局网站pc端手机网站 样式没居中
  • wordpress weiaid网站seo关键词排名
  • 响应式网站做seo怎么样网站开发 京东
  • 可以做h5游戏的网站站内免费推广的方式有哪些
  • 百度网站怎么用开发商城网站
  • 主机做网站服务器怎么设置一段简单的html代码
  • dede 网站名称 空的开发一个网站的过程是什么
  • 网站程序安装dm广告设计图片
  • 济源网站建设昆明市 网站建设
  • 网站建设 技术方案模板广州自助网站搭建制作公司
  • 水陆运输类网站如何建设wordpress上传织梦
  • 网页制作与网站建设》在线作业 答案腾讯搜索引擎入口
  • 固原市住房和城乡建设局网站6617网址导航彩票网站大全
  • 深圳设计网站源码网站托管一般多少钱
  • 网站商城系统帮人做非法网站吗