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>
  • 相关阅读:
    Codeforces Round #706 (Div. 2)
    Caddi Programming Contest 2021(AtCoder Beginner Contest 193)
    [ARC116] Deque Game
    Codeforces Round #721 (Div. 2)
    Codeforces Round #618 (Div. 1)
    Educational Codeforces Round 109 (Rated for Div. 2)
    [ABC201F] Insertion Sort
    AtCoder Regular Contest 119
    Codeforces Global Round 13
    Codeforces Round #673 (Div. 1)
  • 原文地址:https://www.cnblogs.com/xpvincent/p/4140200.html
Copyright © 2011-2022 走看看