wpf command 是如何使用的?求简单直接的代码 20

 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)+提问者悬赏20(财富值+成长值)
小小康狮子
2014-12-17 · 超过10用户采纳过TA的回答
知道答主
回答量:18
采纳率:0%
帮助的人:12.7万
展开全部
写一个类用来申明密令:
public static class StuCommand
{
public static readonly RoutedCommand BtnStu=new RoutedCommand("查看学生信息",typeof(StuCommand));
}

到需要用到命令xaml的cs界面注册(好比 student.xaml.cs):
其本身会有一个构造函数 public student(){};
在自己写一个静态的在里面注册密令;
static student()
{
CommandManager.RegisterClassCommandBinding(typeof(student),
new CommandBinding(StuCommand.BtnStu,BtnStuEvevtsExecute, BtnStuEvevtsCanExecute));
}

static void BtnStuEvevtsExecute(object sender,ExecutedToutedEventArgs e)
{
//这里很灵活,可以拿按钮的数据上下文等等,下面只是最简单的
var BtnStuManager=sender as student;
if(BtnStuManager!=null)
{
//此处写当点击按钮要执行的代码,建议封装一个方法在这里调用。比如下面声明的Refresh()方法

BtnStuManager.Refresh();
}
}

static void BtnStuEvevtsCanExecute(object sender, CanExecuteRoutedEventArgs e)
{
var BtnStuManager=sender as student;

e.CanExecute= true/false/一些条件 //为真按钮启用,为假按钮置灰不能用
}

public void Refresh()
{
//这是方法,代码就不写了。
}

然后在student.xaml页面中绑定:
<Button .........
Command="{x:Static local:StuCommand.BtnStu}"
CommandTarget="{Binding RelativeSource={RelativeSource AncestorType=local:student}}"
追问
没看太懂,能简单描述步骤吗
追答
从上往下去做 相信你能行的!实在不懂就告诉我是哪个地方不懂!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式