我有一個簡單的按鈕,當執行時使用一個命令,這是所有工作正常,但我想單擊按鈕時傳遞一個文本參數。傳遞一個參數到ICommand
我想我的XAML是好的,但我不能確定如何編輯我的RelayCommand
類接收參數:
<Button x:Name="AddCommand" Content="Add"
Command="{Binding AddPhoneCommand}"
CommandParameter="{Binding Text, ElementName=txtAddPhone}" />
public class RelayCommand : ICommand
{
private readonly Action _handler;
private bool _isEnabled;
public RelayCommand(Action handler)
{
_handler = handler;
}
public bool IsEnabled
{
get { return _isEnabled; }
set
{
if (value != _isEnabled)
{
_isEnabled = value;
if (CanExecuteChanged != null)
{
CanExecuteChanged(this, EventArgs.Empty);
}
}
}
}
public bool CanExecute(object parameter)
{
return IsEnabled;
}
public event EventHandler CanExecuteChanged;
public void Execute(object parameter)
{
_handler();
}
}
非常感謝!我對WPF並不陌生,但我是MVVM的新手,所以命令是一個新概念;但我已經可以看到他們將如何幫助單元測試。因此,添加
@MichaelHarper是的,確切地說,一個代表一個對象參數。您可以看到他們已經沿着這些行定義了多種操作類型:http://msdn.microsoft.com/en-us/library/018hxwa8.aspx – McGarnagle
再次感謝,得到了很大的幫助:D –