首页 > Windows开发 > 详细

WPF – pass multiple parameters to a Command

时间:2014-12-03 15:35:16      阅读:574      评论:0      收藏:0      [点我收藏+]
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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!