如何使用命令参数传递用户控件

本文关键字:用户 控件 参数传递 命令 何使用 | 更新日期: 2023-09-27 18:33:02

我使用了DelegateCommand,我想用命令传递UserControl。

#region OpenViewCommand
private DelegateCommand<UserControl> _openViewCommand;
public ICommand OpenViewCommand
{
    get
    {
        if (_openViewCommand == null)
            _openViewCommand = new DelegateCommand<UserControl>(new Action<UserControl>(OpenView));
        return _openViewCommand;
    }
}
public void OpenView(UserControl ViewName)
{
    UserControl ctrl = (UserControl)ViewName;
    JIMS.Controls.Message.Show(ViewName.ToString());
}
#endregion

XAML 中的命令

<Button Name="btnStockGroups" Command="{Binding OpenViewCommand}" CommandParameter="JIMS.View.Stock.StockGroups">stock group</Button>

如何使用命令参数传递用户控件

如果你给你的用户控件一个x:Name(例如"MyView"),你应该能够做这样的事情:

<Button Name="btnStockGroups" 
        Command="{Binding OpenViewCommand}" 
        CommandParameter="{Binding ElementName=MyView}">