zoukankan      html  css  js  c++  java
  • WPF委托命令DelegateCommand的传参方式

    首先引用  Microsoft.Practices.Prism

    MVVM模式代码如下:

    XAML代码:

    <!-- 无参方式 -->
    <Button Content="Test Command" Command="{Binding TestCommand}" />
    
    <!-- 将自己作为参数 -->
    <Button Content="Test Command2" Command="{Binding TestCommand2}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" >
    
    <!-- 将父元素作为参数 -->
    <Button Content="Test Command3" Command="{Binding TestCommand3}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.TemplatedParent}}" >
    

    后台代码:

    this.DataContext = new ViewModel();
    

    ViewModel代码:

    // ViewModel 构造函数
    public ViewModel()
    {    
        CallCOmmand1 = new DelegateCOmmmand(Call1);
        CallCOmmand2 = new DelegateCOmmmand<Object>(Call2);
        CallCOmmand3 = new DelegateCOmmmand<Object>(Call3);
    }
    
    // 命令声明
    public DelegateCommand CallCommand { get; private set; }
    public DelegateCommand<Object> CallCommand2 { get; private set; }
    public DelegateCommand<Object> CallCommand3 { get; private set; }
    
    // 命令实现
    public void Call1()
    {
    }
    
    public void Call2( Object obj )
    {
        Button button = obj as Button;
    }
    
    public void Call3( Object obj )
    {
        ParentType parent = obj as ParentType;
    }
    

      

      

      

  • 相关阅读:
    货币转换函数:CURRENCY_CONVERTING_FACTOR
    Function程序设计及应用
    工具栏对象GUI Status 与GUI Title
    Message的定义類型
    Report List 报表开发
    SpringMVC构建Restful。
    Redis主从复制
    转:Redis配置文件详解
    Redis入门学习
    Redis开启远程登录连接。
  • 原文地址:https://www.cnblogs.com/sntetwt/p/11315738.html
Copyright © 2011-2022 走看看