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

vs做网站mvc/八大营销方式有哪几种

vs做网站mvc,八大营销方式有哪几种,建设部网站增值税,成都必去的十大景点主要是通过一个WindowManager管理类,在window后台代码中通过WindowManager注册需要弹出的窗体类型,在ViewModel通过WindowManager的Show方法,显示出来。 WindowManager代码如下: public static class WindowManager{private stat…

主要是通过一个WindowManager管理类,在window后台代码中通过WindowManager注册需要弹出的窗体类型,在ViewModel通过WindowManager的Show方法,显示出来。

WindowManager代码如下:

 public static class WindowManager{private static Hashtable _RegisterWindow = new Hashtable();public static void Regiter<T>(string key){_RegisterWindow.Add(key, typeof(T));}public static void Regiter(string key, Type t){if (!_RegisterWindow.ContainsKey(key))_RegisterWindow.Add(key, t);}public static void Remove(string key){if (_RegisterWindow.ContainsKey(key))_RegisterWindow.Remove(key);}public static void ShowDialog(string key, object VM){if (!_RegisterWindow.ContainsKey(key)){throw (new Exception("没有注册此键!"));}var win = (Window)Activator.CreateInstance((Type)_RegisterWindow[key]);win.DataContext = VM;win.ShowDialog();}}

做一个扩展方法,将子窗体注册方法扩展到Window类型的对象上。

   public static class WindowExt{public static void Register(this Window win, string key){WindowManager.Regiter(key, win.GetType());}public static void Register(this Window win,string key,Type t){WindowManager.Regiter(key,t);}public static  void Register<T>(this Window win, string key){WindowManager.Regiter<T>(key);}}

添加一个ViewModelBase,并在类中添加ShowDialog方法,这样所有继承的ViewModel都有这个方法

    public class ViewModelBase{public void ShowDialog(string key,object vm){WindowManager.ShowDialog(key,vm);}public void ShowMessage(string mes,string title="",MessageBoxButton buttons= MessageBoxButton.OK){MessageBox.Show(mes,title,buttons);}}

添加一个窗体,并注册子窗体, this.Register<Window1>("Window1");

 public partial class MainWindow : Window{public MainWindow(){InitializeComponent();this.DataContext = new MainWindowViewModel();this.Register<Window1>("Window1");}}

添加ViewModel,继承自ViewModelBase,并在对应的命令中弹出子窗体Window1

    public class MainWindowViewModel:ViewModelBase{public MainWindowViewModel(){BtnCommand = new DelegateCommand(ExecuteBtn);}public DelegateCommand BtnCommand { get; set; }private void ExecuteBtn(){ShowDialog("Window1",this);}}

这样子窗体就弹出来了。

 

转载请标明出处:WPF 介绍一种在MVVM模式下弹出子窗体的方式

文章来源: WPF 介绍一种在MVVM模式下弹出子窗体的方式

http://www.jmfq.cn/news/5153797.html

相关文章:

  • 常州网站建设网站/seo工作前景如何
  • 顺的网站建设精英/seo文章代写平台
  • 南京网站建设价格/seo网站优化推广教程
  • 平面设计包括什么/seo综合查询网站源码
  • 如何做电商网站视频/800元做小程序网站
  • 我做网站价格/重庆seo和网络推广
  • 杭州 seo网站建设 网络服务/网络销售的工作内容
  • 网站需要做实名认证如何做/建站模板哪个好
  • 做网站需要哪些资料/近期国际新闻
  • 做网站游燕/快速优化网站排名的方法
  • dede阿里百秀网站源码/百度我的订单查询
  • 网站开发公司好开发客户吗/百度云群组
  • 南阳企业网站建设公司/重庆seo推广外包
  • 网站充值页面模板/百度搜索一下
  • 网站建设武汉/企业网站优化服务公司
  • 试玩平台怎么做网站/泰安seo培训
  • 门户网站模板 免费/友情链接百科
  • 网站制作及实现/武汉网站推广优化
  • 如何用域名建网站/百度查询关键词排名工具
  • 主机屋怎么做网站/百度网页版 入口
  • 车工订单网站/信息流优化师需要具备哪些能力
  • 长沙哪个公司做网站/推手平台哪个靠谱
  • 石家庄网站建设推广公司报价/永久免费的电销外呼系统
  • 深圳做网站推广的公司/北京百度推广电话号码
  • 注册网站的步骤/哪有网页设计公司
  • 深圳网站制作价格/google seo怎么做
  • 天津做网站优化公司/百度加盟
  • 个人什么取消网站备案/实时排名软件
  • 平台网站做数据维护需要多久/百度平台商家客服
  • 中国做b2b最快是哪个网站/网络营销八大职能