zoukankan      html  css  js  c++  java
  • WPF – pass multiple parameters to a Command

    public class SendCommand : ICommand
    {
        public void Execute(object parameter)
        {
            var labels = ((object[]) parameter).OfType<Label>();
        }
     
        public bool CanExecute(object parameter)
        {
            return true;
        }
     
        public event EventHandler CanExecuteChanged = delegate {};
    }
     
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            DataContext = this;
            SendCommand = new SendCommand();           
        }
     
        public ICommand SendCommand { get; set; }
    }
     
    public class PassThroughConverter : IMultiValueConverter
    {
        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        {
            return values.ToArray();
        }
     
        public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }

     

    <Window x:Class="WpfApplication5.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:wpfApplication5="clr-namespace:WpfApplication5"
            Title="MainWindow" Height="350" Width="525">
        <Window.Resources>
            <wpfApplication5:PassThroughConverter x:Key="PassthroughConverter" />
        </Window.Resources>
        <Grid>
          <StackPanel>
            <Label Name="Greeting">Hello</Label>
            <Label Name="Farewell">Goodbye</Label>
            <Button Command="{Binding SendCommand}">Hit me
              <Button.CommandParameter>
                <MultiBinding Converter="{StaticResource PassthroughConverter}">
                  <Binding Path="." ElementName="Greeting"></Binding>
                  <Binding Path="." ElementName="Farewell"></Binding>             
                </MultiBinding>
              </Button.CommandParameter>
            </Button>
          </StackPanel>
        </Grid>
    </Window>
  • 相关阅读:
    设计模式之命令模式
    设计模式之访问者模式
    ES6入门之Generator函数
    ES6入门之Iterator和for...of
    c# TcpClient简易聊天工具
    Mvc Action可以通过jsonp方式调取
    Webbrowser 在web项目中的使用
    关于java post get请求Demo (请求c#iis接口)
    Jquery 引擎模板 -template详解
    Redis在windows下安装过程
  • 原文地址:https://www.cnblogs.com/xpvincent/p/4140200.html
Copyright © 2011-2022 走看看