Silverlight中的Command,自定义简单Command

Silverlight中的Command,自定义简单Command,第1张

概述 在Silverlight中的MVVM模式下将前台页面和ViewModel界面交互分离开是通过本节所要讲述的Command实现的。我们自定义一个Command需要继承于ICommand接口并且实现这个接口。它有CanExecute()、Execute()方法和CanExecuteChanged事件组成。       CanExecute():判断是否继续执行 *** 作。       Execute(): @H_403_2@

 在Silverlight中的MVVM模式下将前台页面和viewmodel界面交互分离开是通过本节所要讲述的Command实现的。我们自定义一个Command需要继承于ICommand接口并且实现这个接口。它有CanExecute()、Execute()方法和CanExecuteChanged事件组成。

      CanExecute():判断是否继续执行 *** 作。

      Execute():执行 *** 作的内容。

      CanExecuteChanged:当出现影响是否应执行该命令的更改时发生。

    首先:自定义的一个btnCommand。

    public class btnCommand:ICommand
{
private bool canExe;
/// <summary>
/// 构造函数设置是否执行 *** 作
</summary><param name="canexe"></param>
public btnCommand(bool canexe)
{
this.canExe = canexe;
}

判断是否执行 *** 作
<param name="parameter"></param><returns></returns>bool CanExecute(object parameter)
{
if (canExe)
{
return true;
}
false;
}

是否执行 *** 作的变更发生时
</summary>event EventHandler CanExecuteChanged;

执行 *** 作的内容,可以变为Action行为
<param name="parameter"></param>voID Execute(if (parameter != null)
{ MessageBox.Show(parameter.ToString()); }
else
{
MessageBox.Show("未设置CommandParameter");
}
}
}

    其次:定义一个viewmodel,并且在构造函数中初始化两个Command属性。

class Btnviewmodel
{
// 设置两个命令
public ICommand BtnCommand { get; set; }
public ICommand BtnCommandTrue { public Btnviewmodel()
{
初始化两个命令值
BtnCommand = new btnCommand(false);
BtnCommandTrue = true);
}
}

    再次将viewmodel初始化为页面数据源

    <UserControl.DataContext>
<local:Btnviewmodel />
</UserControl.DataContext>

    最后:前台的两个按钮绑定Command

    <GrID x:name=LayoutRoot" Background=White">
<button Content=第一个" Height=23" HorizontalAlignment=left"
Command={Binding BtnCommand}" CommandParameter=第一个Command"
margin=94,80,0" name=button1" VerticalAlignment=top" WIDth=75" />
<button Command={Binding BtnCommandTrue}第二个Command"
Content=第二个" margin="
name=button2" />
</GrID>

    如需源码请点击 SLICommand.zip 下载,下面是效果图。有一个按钮CanExecute,有一个不能点击。

@H_403_2@ 总结

以上是内存溢出为你收集整理的Silverlight中的Command,自定义简单Command全部内容,希望文章能够帮你解决Silverlight中的Command,自定义简单Command所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1068203.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存