如何从 wpf 中的一个用户控件调用两个单独的命令?
How to call two separate command from one user control in wpf?
我有用户控件,其中包含两个按钮 'Add' 和 'Delete',它们调用命令将数据添加到数据网格中。我两次使用这个用户控件。
我还有两个 DataGrid 用于 'Staff' 和 'Department'。
This is UI.
那么我如何将两个不同的命令附加到每个控制按钮。?
Those are buttons of User Control and attached Commands.
(抱歉英语。)
当你看图片时,我认为这个问题相当清楚。
更多的解释将允许准确描述如何做到这一点,但这里是。
DataContext 继承自控件树。
图中有两个扩展器。
让我们为这些用户控件调用内容中的任何内容。也许他们是,也许他们不是。这并不重要。我们称它们为 Departments 和 Staff Details。
假设删除按钮绑定了 DeleteCommand。
如果您将 Departments 的数据上下文设置为公开 DeleteCommand ICommand 属性 的视图模型,那么它将绑定到该视图模型。
同样,将员工详细信息的数据上下文设置为另一个公开删除命令的视图模型,然后员工详细信息中的按钮将绑定到员工详细信息视图模型中的 DeleteCommand。
您只需要两个不同的视图模型,其中包含这些不同的命令,并使它们成为扩展器的数据上下文。
我有用户控件,其中包含两个按钮 'Add' 和 'Delete',它们调用命令将数据添加到数据网格中。我两次使用这个用户控件。
我还有两个 DataGrid 用于 'Staff' 和 'Department'。
This is UI.
那么我如何将两个不同的命令附加到每个控制按钮。?
Those are buttons of User Control and attached Commands.
(抱歉英语。)
当你看图片时,我认为这个问题相当清楚。 更多的解释将允许准确描述如何做到这一点,但这里是。
DataContext 继承自控件树。 图中有两个扩展器。 让我们为这些用户控件调用内容中的任何内容。也许他们是,也许他们不是。这并不重要。我们称它们为 Departments 和 Staff Details。 假设删除按钮绑定了 DeleteCommand。 如果您将 Departments 的数据上下文设置为公开 DeleteCommand ICommand 属性 的视图模型,那么它将绑定到该视图模型。 同样,将员工详细信息的数据上下文设置为另一个公开删除命令的视图模型,然后员工详细信息中的按钮将绑定到员工详细信息视图模型中的 DeleteCommand。
您只需要两个不同的视图模型,其中包含这些不同的命令,并使它们成为扩展器的数据上下文。