MVVM 模版里的控件怎样触发命令

 1 public class BaseWindow : Window
 2     {
 3         public BaseWindow()
 4         {
 5             InitializeStyle();

                  //给样式的控件加载事件
 6             this.Loaded += delegate
 7             {
 8                 InitializeEvent();
 9             };
10         }
11
12         private void InitializeEvent()
13         {
14             ControlTemplate baseWindowTemplate = (ControlTemplate)App.Current.Resources["BaseWindowControlTemplate"];
15
16             Button minBtn = (Button)baseWindowTemplate.FindName("btnMin", this);
17             minBtn.Click += delegate
18             {
19                 this.WindowState = WindowState.Minimized;
20             };
21
22             Button maxBtn = (Button)baseWindowTemplate.FindName("btnMax", this);
23             maxBtn.Click += delegate
24             {
25                 this.WindowState = (this.WindowState == WindowState.Normal ? WindowState.Maximized : WindowState.Normal);
26             };
27
28             Button closeBtn = (Button)baseWindowTemplate.FindName("btnClose", this);
29             closeBtn.Click += delegate
30             {
31                 this.Close();
32             };
33
34             Border borderTitle = (Border)baseWindowTemplate.FindName("borderTitle", this);
35             borderTitle.MouseMove += delegate(object sender, MouseEventArgs e)
36             {
37                 if (e.LeftButton == MouseButtonState.Pressed)
38                 {
39                     this.DragMove();
40                 }
41             };
42             borderTitle.MouseLeftButtonDown += delegate(object sender, MouseButtonEventArgs e)
43             {
44                 if (e.ClickCount >= 2)
45                 {
46                     maxBtn.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
47                 }
48             };
49         }
50
51
52         private void InitializeStyle()
53         {
54             this.Style = (Style) App.Current.Resources["BaseWindowStyle"];
55         }
56     }
时间: 2024-08-12 07:44:29

MVVM 模版里的控件怎样触发命令的相关文章

winfrom获取用户控件里的控件对象

如何获取用户控件里的控件对象呢,其实思路也是很简单的, 比如有一个panel 用户控件 里面有许多的其他控件. 那么要找出一个Label控件怎么找呢,好的.现在我们就开始 首先,一个foreach循环获得所有控件. 然后根据类型筛选出这个类型的所有控件.然后就可以用Name来判断了 foreach(var lb in mi_image1.Controls) {    if (lb is Label)    {         Label obj = lb as Label;   //如果把循环改

iOS开发手记 - iOS9.3 UINavigationController添加后不显示storyboard中viewcontroller里的控件的解决方法

我原先是这么做的,通常也是这么做 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. ViewController *firstVC = [[ViewController alloc] init]; UIN

java android布局里的控件值 反射绑定给实体类,实体类绑定给控件,表单提交绑定很有用

注意了:根据实际情况,添加实体里字段的类型,控件类型的判断才可使用.这里控件只有TextView EditText 实体类字段只有String int类型,带值的控件添加tag ,值和实体类的字段值一致 package ice.ui.service; import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import jav

jQuery-UI实现折叠面板里的控件拖曳

因一个项目的需要,需要在前端界面实现在折叠面板里拖曳控件到工作区的功能(类似于Android和MFC的可视化界面开发),于是就开始学起了强大的jQuery,发现里面的jQuery-UI有折叠面板.按钮等控件,但当在折叠面板里拖曳按钮时,按钮的拖曳范围只能是折叠面板内部,不能拖到工作区.所以这里绕了个弯实现了一下: 主要的实现过程是:首先在控件表明生成一个副本,每次拖曳控件的时候拖曳的都是副本,当拖曳完成,即鼠标弹起后,原控件表面就又生成一个副本待下次拖曳.(其他一些细节写在了注释里.) 代码:

在MVVM中使用PasswordBox控件

在MVVM中使用PasswordBox控件,碰到一个问题.由于**PasswordBox.Password**属性并不是一个依赖属性,所以无法将其作为Binding的目标. # 使用附加属性的解决方案 ![Password Demo.gif](http://upload-images.jianshu.io/upload_images/140233-dbd415eb4cf9aeb2.gif) **思路:**定义两个依赖属性**Attach**和**AttachPassoword** Attatch

【jQuery基础编程】jQuery-UI实现折叠面板里的控件拖曳

因一个项目的需要,需要在前端界面实现在折叠面板里拖曳控件到工作区的功能(类似于Android和MFC的可视化界面开发),于是就开始学起了强大的jQuery,发现里面的jQuery-UI有折叠面板.按钮等控件,但当在折叠面板里拖曳按钮时,按钮的拖曳范围只能是折叠面板内部,不能拖到工作区.所以这里绕了个弯实现了一下: 主要的实现过程是:首先在控件表明生成一个副本,每次拖曳控件的时候拖曳的都是副本,当拖曳完成,即鼠标弹起后,原控件表面就又生成一个副本待下次拖曳.(其他一些细节写在了注释里.) 代码:

swt controls里的控件list

swt controls里的控件list,怎么显示滚动条,并且滚动条自动移动到最下边时,显示最新内容 1 package com.jokul; 2 3 import org.eclipse.swt.widgets.Display; 4 import org.eclipse.swt.widgets.Shell; 5 import org.eclipse.swt.SWT; 6 import org.eclipse.swt.widgets.Label; 7 import org.eclipse.swt

gridview里找到控件

for (int i = 0; i < gvIncomeYG.Rows.Count; i++) { Label lblYG_DYYGSR_BHS = ((Label)gvIncomeYG.Rows[i].Cells[18].FindControl("YG_DYYGSR_BHS")); } YG_DYYGSR_BHS是前台的控件的ID gvIncomeYG是gridview的ID gridview里找到控件

DropDownList 控件不能触发SelectedIndexChanged 事件

相信DropDownList 控件不能触发SelectedIndexChanged 事件已经不是什么新鲜事情了,原因也无外乎以下几种: 1.DropDownList 控件的属性 AutoPostBack="True" 没有写: 2.DropDownList 控件的数据绑定没有放在if (!Page.IsPostBack) 里面: 3.DropDownList 控件选定项的value 值只有在发生变化时,才将信息发往服务器: 有人问 (1)AutoPostBack="True&