• 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>
  • 相关阅读:
    android studio常用快捷键
    html5开发之viewport使用
    Android之 -WebView实现离线缓存阅读
    Android总结篇系列:Activity生命周期
    设计模式系列(0)
    通过Jni实现AES的CBC模式加密解密
    Android Studio通过JNI调用NDK程序
    Android Studio] Gradle项目中添加JNI生成文件(.so文件)
    Android Studio开发JNI工程
    Java中RSA非对称密钥加解密使用示例
  • 原文地址:https://www.cnblogs.com/xpvincent/p/4140200.html
Copyright © 2020-2023  润新知