理解Prism中MVVM的Command与CommandParameter
理解Prism中MVVM的Command与CommandParameter
内容摘要
接上一讲( http://HdhCmsTestcnblogs测试数据/chenxizhang/archive/2012/04/13/2446415.html ),这一讲中我使用Prism做了演示和比较。Prism不仅仅是一个MVVM框架,它还包含其他的模块。在MVVM这个层面,Prism有些特殊性(Command绑定有特殊语法),这也是我这一讲的主要内容。
Prism的下载链接
http://compositewpf.codeplex测试数据/
视频地址
http://HdhCmsTesttudou测试数据/programs/view/72Ag1kQt1RA/
示例代码
< Window x:Class ="WPFPrismMvvm.MainWindow"
xmlns ="http://schemas.microsoft测试数据/winfx/2006/xaml/presentation"
xmlns:x ="http://schemas.microsoft测试数据/winfx/2006/xaml"
Title ="MainWindow"
Height ="350"
xmlns:local ="clr-namespace:WPFPrismMvvm"
xmlns:cmd ="clr-namespace:Microsoft.Practices.Prism.Commands;assembly=Microsoft.Practices.Prism"
Width ="525" >
< Window.DataContext >
< local:MainWindowViewModel UserName ="chenxizhang" ></ local:MainWindowViewModel >
</ Window.DataContext >
< Grid >
< StackPanel >
< TextBox Text ="{Binding UserName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" ></ TextBox >
< Button Content ="Show"
cmd:Click . Command ="{Binding ShowCommand}"
cmd:Click . CommandParameter ="{Binding UserName}" ></ Button >
</ StackPanel >
</ Grid >
</ Window >
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Practices.Prism.ViewModel;
using Microsoft.Practices.Prism.Commands;
using System.Windows.Input;
using System.Windows;
namespace WPFPrismMvvm
{
public class MainWindowViewModel:NotificationObject
{
private string _UserName;
public string UserName
{
get { return _UserName; }
set
{
if (_UserName != value )
{
_UserName = value ;
RaisePropertyChanged( "UserName" );
}
}
}
public ICommand ShowCommand
{
get
{
return new DelegateCommand< string >(
(user) =>
{
MessageBox.Show(user);
}, (user) => {
return ! string .IsNullOrEmpty(user);
});
}
}
}
}
分类: fmplan-02 - Developement Practice-02-1-Desktop
作者: Leo_wl
出处: http://HdhCmsTestcnblogs测试数据/Leo_wl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
版权信息查看更多关于理解Prism中MVVM的Command与CommandParameter的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did49343