码迷,mamicode.com
首页 > Windows程序 > 详细

WPF – pass multiple parameters to a Command

时间:2014-12-03 15:35:30      阅读:292      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   color   os   sp   on   

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>

WPF – pass multiple parameters to a Command

标签:style   blog   http   io   ar   color   os   sp   on   

原文地址:http://www.cnblogs.com/xpvincent/p/4140200.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!