MVVM Light 一个窗口承载两个视图】的更多相关文章

MVVM Light 一个窗口承载两个视图   原文地址:http://www.codeproject.com/Articles/323187/MVVMLight-Using-Two-Views 本文并不是对原文逐句翻译,为了尽量通俗易懂,本人对原文有所增删. 如果你对MVVM还不太熟悉可以先看看本人之前的关于MVVM的博客: http://www.cnblogs.com/zhangzhi19861216/archive/2013/03/19/WPF-MVM.html 如果你对MVVMLight…
     在使用MVC做项目的时候一般的情况就是一个ActionResult一个视图,这样对应的Return View();就可以找到下面对应的视图,这是根据一个原则,"约定大于配置",但是我们有的时候需要在一个ActionResult中根据业务跳转到不同的视图,展示到界面上. 这里也不一定绝对要跳转到对于的视图,我们可以通过Return RedirectToAction()来跳转到对于的视图,如下 public ActionResult Detail(Guid id) { try {…
在使用MVC做项目的时候一般的情况就是一个ActionResult一个视图,这样对应的Return View();就可以找到下面对应的视图,这是根据一个原则,“约定大于配置”,但是我们有的时候需要在一个ActionResult中根据业务跳转到不同的视图,展示到界面上. 这里也不一定绝对要跳转到对于的视图,我们可以通过Return RedirectToAction()来跳转到对于的视图,如下 public ActionResult Detail(Guid id) { try { var entit…
今天学习MVVM架构中“事件”的添加并调用,特记录如下,学习资料均来自于网络,特别感谢翁智华 的 利刃 MVVMLight 6:命令基础 在MVVM Light框架中,事件是WPF应用程序中UI与后台代码进行交互的最主要方式,与传统方式不同,mvvm中主要通过绑定到命令来进行事件的处理. 相对于CodeBehind 的方式,使用命令会好很多:最大的特点就是解耦View和ViewModel的行为交互,将视图的显示和业务逻辑分开. 对View上的某个元素进行命令的绑定,触发点击操作的时候,这个按钮实…
原文:Mvvm Light Toolkit 入门 前言 之前学习UWP的时候就一直看到有关MVVM的资料但是一直没有系统的去学,最近正好有时间,特地来攻破这个点,顺便学习一下VS与GitHub的链接和MarkDown的语法. 下面的附件里有这篇博客里用到的Demo工程,我已经加上了比较详细的注释,可以帮助理解代码,欢迎点击查看. MVVM简介 MVVM(Model-View-ViewModel)是一种程序模式,是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演…
一.前言       在MVVM编程的模式中,有时候我们会遇到一个很尴尬的情况: 若干个xaml.cs都复用一个ViewModel,当ViewModel想传递一个特定的消息给某一个xaml.cs的时候,我们该怎么做? 或者当一个.cs不方便在另一个.cs文件中new出来使用,但是我确实想传递消息给那个.cs,该怎么办? 今天就说说MVVM Light中的Messager类,它继承自IMessager接口. 二.使用方法       发送页面中: Messenger.Default.Send<TM…
Mvvm Light Toolkit for WPF/Silverlight系列之搭建mvvmlight开发框架   本章节,我将通过示例介绍如何搭建mvvmlight开发环境.示例中的我会针对wpf代码进行介绍,SL下有区别的地方我会注明,下载示例中会同时包含WPF和SL源代码,但是只会提供VS2010版本的示例程序. 前提条件:按照前一章节安装的模板和代码片段,或者下载 MVVM Light Toolkit V3 开发环境:VS2010/Blend4 为了方便大家了解框架 本章节,我将通过示…
MVVM Light须要注意的10个问题 从使用XAML技术基础開始(实际上并非非常久曾经).我便关注MVVM(Model – View – ViewModel)模式.偶然接触到MVVM Light不久后便喜欢上它的工作方式. 不光我包含业余和专业开发者在内的非常多开发者都喜欢这个函数库. 依照开发者意愿,MVVM Light 不是一个框架而是函数库,该函数库注重于探究建立一个MVVM结构而且提供一些额外的帮助类以便于应用. MVVM Light在发展过程中改变了非常多.非常多元素被增加又有非常…
在 XAML 应用的开发过程中,使用MVVM 框架能够极大地提高软件的可测试性.可维护性.MVVM的核心思想是关注点分离,使得业务逻辑从 View 中分离出来到 ViewModel 以及 Model 中,从逻辑上来讲,这也是业务逻辑应该处的位置. 具体来说,借助于数据绑定 (Data Binding) 以及命令 (Command) 等这些XAML 平台自身所提供的机制,使得 MVVM 在 XAML 平台上很容易实现.但是,如果你对 XAML 应用开发以及 MVVM 的使用有一定的经验,你会发现,…
原文:MVVM Light Toolkit使用指南 原文地址:  https://blog.csdn.net/ldld1717/article/details/77040077 概述 MVVM Light Toolkit是一个Android MVVM 轻量级工具库,主要目的是更快捷方便的构建Android MVVM应用程序,工具库添加了一些Data Binding 不支持的属性,还有添加对控件事件的封装,同时提个一个全局消息通道方便ViewModel 之间的通信,Toolkit主要包括两部分Bi…
今天学习MVVM架构中“属性”的添加并调用,特记录如下,学习资料均来自于网络,特别感谢翁智华的利刃 MVVMLight系列. 一个窗口的基本模型如下: View(视图) -> ViewModel (视图模型)-> 多个Model(模型) 注: 视图是用户在屏幕上看到的结构.布局和外观(UI) 视图模型是暴露公共属性和命令的视图的抽象.在视图模型中,绑定器在视图和数据绑定器之间进行通信. 模型是指代表真实状态内容的领域模型(面向对象),或指代表内容的数据访问层(以数据为中心). 下面开始学习最基…
本文是WPF学习11:基于MVVM Light 制作图形编辑工具(2)的后续 这一次的目标是完成 两个任务. 本节完成后的效果: 本文分为三个部分: 1.对之前代码不合理的地方重新设计. 2.图形可选择外框颜色,填充颜色的实现简介. 3.拖动图形的实现简介. 修改之前的代码 我们在写代码的时候,经常回头看之前的代码,如果觉得之前的代码有问题,这时候条件如果允许,就改了吧. 做出的改动: 1.修改Image为Canvas. 目的:使图形的缩放和移动这部分的代码实现大大简化. 去除了配置按钮.原因是…
图形编辑器的功能如下图所示: 除了MVVM Light 框架是一个新东西之外,本文所涉及内容之前的WPF学习0-9基本都有相关介绍. 本节中,将搭建编辑器的界面,搭建MVVM Light 框架的使用环境. 界面 <Window x:Class="GraphEditor.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http:…
一.前言 作为一个初入软件业的新手,各种设计模式与框架对我是眼花缭乱的.所以当我接触到这些新知识的时候就希望自己能总结几个步骤,以便更好更方便的在日常工作中进行使用. MVVM顾名思义就是Model-View-View Model的缩写.老司机们一直说绑定绑定,我就纳闷了View是展示,Model是模型,那View Model怎么写处理的逻辑呢?它是如何将Model和View联系到一起的呢?这是我第一次听到MVVM时产生的疑惑.经过了一些编程经历,大致明白了整个过程.本文不会过分强调MVVM中一…
phpstorm默认一个窗口只显示一个项目,入股拟新建一个项目,他会给你个选项卡,问你是在新窗口打开新项目还是在本窗口打开. 能不能在一个窗口打开多个项目呢?就像sublime text那样,其实是可以,具体方法如下: 依次打开: File -> settings -> Directories -> Add Content Root 选择要添加的项目目录即可. 看不懂的可以看下面的图片,流程: 到这里,可以看到两个项目的目录均存在啦 http://unun.in/php/135.html…
比喻:像漂流瓶一样发送一个Message,任何人有兴趣就可以拾起来. MVVM Light中的Message的使用分为三个步骤: 1.创建一个类,包含要传递的Message. 2.在ViewModel中,实例化这个Message类并广播这个Message. 3.在MainPage.xaml.cs中注册此Message并在接收到的时候处理它. 在项目中创建一个新Class,命名为GoToPageMessage. 1: using System; 2: 3: namespace MvvmLightN…
 Excel在任务栏中只显示一个窗口的解决办法  以前朋友遇到过这个问题,这次自己又遇到了,习惯了以前的那种在任务栏中显示全部窗口,方便用Alt+Tab键进行切换. 如果同时打开许多Excel工作簿,在桌面任务栏中通常会显示多个工作簿窗口按钮.如果任务栏只中显示了一个Excel窗口按钮,所有的工作簿窗口只出现在Excel程序窗口内部,可能是相关的设置被改动了,可以通过下面方法改回设置: 在Excel 2003中单击菜单“工具→选项”,选择“视图”选项卡,选择“任务栏中的窗口”. 在Excel 2…
4.关于子视图, MVVMLight Using Two Views:http://www.codeproject.com/Articles/323187/MVVMLight-Using-Two-Views 3.这篇讲的不错:MVVM.MVVMLight.MVVMLight Toolkit之我见 2.using the code snippet: a.in Visual Studio, in the code behind file, MainViewModel.cs, enter the le…
1.新建WPF空白项目. 2.NuGet 程序包中安装 3.根据MVVM分层结构,建立包含Model.View.ViewModel三层文件夹 如图: 1.View负责前端展示,与ViewModel进行数据和命令的交互. 2.ViewModel,负责前端视图业务级别的逻辑结构组织,并将其反馈给前端. 3.Model,主要负责数据实体的结构处理,与ViewModel进行交互.   到此,MVVM Light 框架基本形成,新手入门,请各位老师多提意见,下一篇 我将学习如何在ViewModel / M…
本文是WPF学习10:基于MVVM Light 制作图形编辑工具(1)的后续 这一次的目标是完成 两个任务. 画布 效果: 画布上,选择的方案是:直接以Image作为画布,使用RenderTargetBitmap绑定为Image的图片源,这样可以为后续的导出图片功能提供很大的便利. 对拖动栏XAML进行如下修改: <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="…
原文 WPF 同一窗口内的多线程/多进程 UI(使用 SetParent 嵌入另一个窗口) WPF 的 UI 逻辑只在同一个线程中,这是学习 WPF 开发中大家几乎都会学习到的经验.如果希望做不同线程的 UI,大家也会想到使用另一个窗口来实现,让每个窗口拥有自己的 UI 线程.然而,就不能让同一个窗口内部使用多个 UI 线程吗? 阅读本文将收获一份 Win32 函数 SetParent 及相关函数的使用方法. WPF 同一个窗口中跨线程访问 UI 有多种方法: 使用 VisualTarget (…
判断一个窗口是否被挂起了(就是没有响应了),在多窗口编程了经常会用到,在给别的窗口发消息前,为了目的窗口能确定收到消息,常常在之前先检测窗口是否被挂起了,我们以前常用的方式的是使用下面的方法: // 判断一个窗口是否已经停止响应了(超时0.5秒) DWORD_PTR dwResult = 0; LRESULT lr = ::SendMessageTimeout(g_hWin, WM_NULL, 0, 0, SMTO_ABORTIFHUNG | SMTO_BLOCK, 500, &dwResult…
本教程将演示如何在 Swift 4 中创建一个多功能的.@IBDesignable 样式的渐变视图类.你可以将 CAGradientView 放到 storyboard 中,并在设计时预览,或者以编程方式添加它.你可以为两个渐变终止点(起点和终点)设置颜色,并轻松设置渐变方向(以度为单位),因此你可以轻松地拥有水平渐变.垂直渐变或任何你喜欢的角度的渐变.这些属性完全可以在 IB 检视器中控制. 为什么我们需要这个 设计师就是喜欢渐变.诚然,就像阴影一样,它们会趋从于潮流的变化,而且现在的渐变也更…
import win32con,win32gui class MyWindow(): def __init__(self): #注册一个窗口类 wc = win32gui.WNDCLASS() wc.lpszClassName = 'MyWindow' wc.hbrBackground = win32con.COLOR_BTNFACE+1 #这里颜色用法有点特殊,必须+1才能得到正确的颜色 wc.lpfnWndProc = self.wndProc #可以用一个函数,也可以用一个字典 class…
调查一个 pdf 打印报错: ExceptionConverter: org.apache.catalina.connector.ClientAbortException: java.net.SocketException: Software caused connection abort: socket write error at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:407)…
Excel 2010打开多个文件,但只有一个窗口的问题. 一般首次安装没有这个问题,碰到装了WPS后再卸载WPS,还有就是OFFICE卸载后重装,也会发生这个现像. 一.: 删除 HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open 下的子项:ddeexec 定位 HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\command 将“默认”与“command”值的数据中“/dde”改为“%1” 二.: 对 HKEY_CLAS…
sql一个表中两个字段,合并求和 SELECT SUM(字段a+'.'+字段b) as total  from TABLE…
添加一个按钮,并为按钮添加点击事件(注:Frm_Main为需要跳转的窗口名字) private void Btn_OK_Click(object sender, EventArgs e) { //打开另一个窗口的同时关闭当前窗口 Thread th = new Thread(delegate () { new Frm_Main().ShowDialog(); }); th.Start(); this.Close(); }…
<a> 标签的 target 属性规定在何处打开链接文档.如果在一个 <a> 标签内包含一个 target 属性,浏览器将会载入和显示用这个标签的 href 属性命名的.名称与这个目标吻合的框架或者窗口中的文档.如果这个指定名称或 id 的框架或者窗口不存在,浏览器将打开一个新的窗口,给这个窗口一个指定的标记,然后将新的文档载入那个窗口.从此以后,超链接文档就可以指向这个新的窗口. <li><a href="/mobile/common.html?cmd…
一个类有两个方法,其中一个是同步的,另一个是非同步的:现在又两个线程A和B,请问:当线程A访问此类的同步方法时,线程B是否能访问此类的非同步方法? 答案:可以 验证 package com.my.test2; public class ClassA { public synchronized void do1() { //延迟打印,为了更明显 try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrac…