我对如何在 XAML 中使用 CommandParameter 有点迷茫。我正在尝试绑定一个文本框和一个按钮。
这是我的 XAML 代码:
<TextBox x:Name="txtCity" Height="70"
VerticalAlignment="Top"/>
<Button x:Name="btnCity"
Content="Get"
Background="CornflowerBlue"
Height="70"
Command="{Binding GetweatherCommand}"
CommandParameter="{Binding ElementName=txtCity, Path=Text}"/>
在我的 ViewModel 类中,我有以下内容来处理 clic 操作:
ActionCommand getWeatherCommand; //ActionCommand derivides from ICommand
public ActionCommand GetWeatherCommand
{
get
{
if (getClimaCommand != null)
{
getClimaCommand = new ActionCommand(() =>
{
serviceModel.getClima("????");
});
}
return getWeatherCommand;
}
}
我的 ActionCommand 类:
public class ActionCommand : ICommand
{
Action action;
public ActionCommand(Action action)
{
this.action = action;
}
public bool CanExecute(object parameter)
{
return true;
}
public event EventHandler CanExecuteChanged;
public void Execute(object parameter)
{
action();
}
}
当我调试时,Execute
和CanExecute
方法中的参数具有正确的值。但是,我想问题出在ViewClass (GetWeatherCommand)
. 我不知道如何传递参数。
那么,基于以上内容,有谁知道如何将参数传递给将要执行的方法?