MVVM实践中的Command与CommandParameter的使用
2012-04-14 10:19
351 查看
内容摘要
这一讲,我在原先一篇博客文章(/article/4661010.html)基础上,针对MVVM中Command的使用做了演示和讲解。灵活的数据绑定,和命令绑定,是MVVM的核心精神,善加这两个功能,将大大地简化我们的应用程序开发,提供更加合理的代码架构。可以这么说,如果你在做WPF,Silverlight或者相关的开发,你是必须要了解MVVM的。但是至于你使用具体哪一个框架,倒不是那么重要的,他们基本都很类似。视频地址
http://www.tudou.com/programs/view/SZXSes10MD0/示例代码
using System.Windows; using System.Windows.Input; using GalaSoft.MvvmLight; using GalaSoft.MvvmLight.Command; namespace WpfMVVM { public class MainWindowViewModel:ViewModelBase { private string _UserName; public string UserName { get { return _UserName; } set { if (_UserName != value) { _UserName = value; RaisePropertyChanged("UserName"); } } } public ICommand ShowCommand { get { return new RelayCommand<string>( (user) => { MessageBox.Show(user); }, (user) => { return !string.IsNullOrEmpty(user); }); } } } }
<Window x:Class="WpfMVVM.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" xmlns:local="clr-namespace:WpfMVVM" Height="350" 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" Command="{Binding ShowCommand}" CommandParameter="{Binding UserName}"></Button> </StackPanel> </Grid> </Window>
相关文章推荐
- 在MVVM实践中的Command与CommandParameter的使用
- MVVM实践中的Command与CommandParameter的使用
- MVVM模式---Command与CommandParameter的使用
- Linux入门 Part1: 使用控制台(3)-shell,command & parameter(s)
- 关于iBatis/iBatis.net中parameterMap使用的一个技巧(亲自实践)
- vc++ 使用command 对象通过parameter 实现插入二进制数据
- MVVM RelayCommand 进阶技巧 CanExcute 的使用
- WPF ContextMenu 在MVVM模式中绑定 Command及使用CommandParameter传参
- WPF新手实践5:MVVM Light Toolkit(五、Command)
- 在MVVM模式中使用Command(资料整理)
- mvvm command的使用案例
- Silverlight中使用MVVM(5):Command II
- Silverlight中使用MVVM(5):Command II
- mvvm command的使用案例
- WPF新手实践5:MVVM Light Toolkit(五、Command)(转)
- Android-MVVM架构-Data Binding的使用
- 第21课:Spark性能调优之系统资源使用原理和调优最佳实践
- MySqlParameter使用注意事项
- 9、手把手教你Extjs5(九)使用MVVM特性控制菜单样式
- 转:[Silverlight入门系列]使用MVVM模式(9): 想在ViewModel中控制TreeView节点展开?