c# - 如何使用 CommandParameter 传递 UserControl?

标签 c# wpf xaml binding view

我使用了 DelegateCommand,我想通过 Command 传递 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>

最佳答案

如果你给你的 UserControl 一个 x:Name(例如“MyView”),你应该能够做这样的事情:

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

关于c# - 如何使用 CommandParameter 传递 UserControl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10438564/

相关文章:

c# - 字典类型转换

wpf - 如何将图像 "placemarkers"放在 WPF 中的滚动条内?

c# - WPF 使用语句打开另一个窗体

c# - Xaml(silverlight) 到 html5 转换

c# - 具有 MFA 的 Sharepoint 不允许访问

c# - 如何测试日期以了解它在 C# 中属于哪种文化

wpf - 如何将 Grid 填充到 TextBlock 中?

wpf - 在数据网格中编辑单元格时删除 stringFormat

javascript - 存储 javascript 的更安全方法是什么?

c# - 帮助处理两个表的 linq 查询