wpf command 是如何使用的?求简单直接的代码 20
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)+提问者悬赏20(财富值+成长值)
1个回答
展开全部
写一个类用来申明密令:
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}}"
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}}"
追问
没看太懂,能简单描述步骤吗
追答
从上往下去做 相信你能行的!实在不懂就告诉我是哪个地方不懂!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询