WPF Caliburn 学习笔记(二)Command
2011-03-10 08:23
316 查看
前言:
我们知道WPF也有Command,比如自带的复制、粘贴、剪切、撤销等。这里要说的是Caliburn中的Command,它们有什么区别和不同点呢?
1、命令源
我们首先创建一个ShowMessageCommand.cs类,和ShowTitleMessageCommand.cs类。分别写上相应的命令方法。
[Command] public class ShowMessageCommand { [Preview("CanExecute")] public void Execute(string message) { MessageBox.Show(message); } public bool CanExecute(string message) { return !string.IsNullOrWhiteSpace(message); } }
这里的[Command] 不加也能执行,但命令方法名必须是Execute。如果是其他方法名,则报错。
ShowTitleMessageCommand.cs代码
代码<Button Content="Trigger Click Show Message"> <cal:Message.Triggers> <cal:RoutedMessageTriggerCollection> <cal:EventMessageTrigger EventName="Click"> <cal:EventMessageTrigger.Message> <cal:CommandMessage Command="{cal:Resolve Key=ShowMessage}"> <cal:Parameter Value="{Binding ElementName=message, Path=Text}"/> </cal:CommandMessage> </cal:EventMessageTrigger.Message> </cal:EventMessageTrigger> </cal:RoutedMessageTriggerCollection> </cal:Message.Triggers> </Button>
3、资源
刚才的命令是通过注入容器来实现的,还有一种方法是通过资源命令(ResourceCommand)我们这里用Window.Resource来引用它。
<Window.Resources> <local:ShowTitleMessageCommand x:Key="showCommand"/> </Window.Resources> 然后 Button部分:
<Button Content="Click Show Title Message" cal:Message.Attach="ResourceCommand showCommand(title.Text,message.Text)"/>
这里的showCommand就是资源中的key。
![](http://images.cnblogs.com/cnblogs_com/dingli/201103/201103100822389597.png)
华丽的分隔线——————————————————————————————————————————
代码
未解决:
在Caliburn上其实还有一种BoundCommand。相关文章推荐
- WPF Caliburn 学习笔记(二)Command(2)
- WPF Caliburn 学习笔记(一) Action
- Caliburn笔记-基本Command(wpf框架)
- WPF Caliburn 学习笔记(三)Application Model
- WPF Caliburn 学习笔记(四) Message Triggers
- WPF Caliburn 学习笔记(五)HelloCaliburn
- wpf学习笔记 Command
- WPF Caliburn 学习笔记(一)Action 续
- WPF and Silverlight 学习笔记(七):WPF布局管理之StackPanel、WrapPanel、DockPanel
- 【设计模式学习笔记十五】【行为模式】【命令模式(Command)】
- WPF-MVVM模式学习笔记4——Lambda表达式学习
- WPF学习笔记6: 依赖属性设置优先级
- wpf学习笔记(3)《都是自己根据网络资源学习记录的仅供参考》
- wpf学习笔记---Viewbox
- [WPF] Caliburn Micro学习三 Binding
- the linux command line学习笔记之一
- 设计模式学习笔记--命令模式command pattern(Java版)
- WPF学习笔记一 熟悉XAML
- WPF 学习笔记 - 8. Binding (1)
- WPF 学习笔记