如何将参数从 XAML 发送到代码隐藏

本文关键字:代码 隐藏 XAML 参数 | 更新日期: 2023-09-27 18:37:02

在我的 xaml 页面中,我有一个删除按钮,该按钮将删除具有项目 ID 的每一行的项目。我想在点击按钮时发送 id。

在 WPF 中,如何做到这一点?

我只找到了发送多个值作为链接的方法。

如何将参数从 XAML 发送到代码隐藏

我将通过提供的少量信息来尝试一下。 我假设选择了某个项目。当您单击删除按钮时,您希望从列表中删除该项目。 在这种情况下,您应该设置该项目。标记到 ID 值或包含 ID 值的某个对象。 然后,当您单击"删除"时,您可以从要删除的列表中获取所选项目,查看所选项目的标签,并从中获取所需的ID。 然后,您可以使用刚刚拥有的ID快速浏览列表,以确定列表中需要删除的其他项目。

希望这有帮助。如果这没有帮助,请发送更多说明,我会尝试一下。

你追求的是一个命令参数。假设您在页面中将 ViewModel 设置为静态资源,并将 ListBox 绑定到使用数据模板的项集合。

要实现这一点,您需要在 ViewModel 中创建一个 ICommand 来处理删除。

public ICommand DeleteItemCommand {
    get { return new DelegateCommand(deleteItemClicked, alwaysCanInvoke); }
}
private deleteItemClicked(object param) {
 // Business logic here to remove item based on param
}

接下来,在 XAML 数据模板中指定以下内容。

<Button Content="Remove" Command="{Binding Source={StaticResource myViewModel}, Path=DeleteItemCommand}" CommandParameter="{Binding Id}"/>

其中 Id 是要尝试从列表中删除的项目的公开属性。

有关实现委托命令的示例,请查看此处:http://wpftutorial.net/DelegateCommand.html

希望这有帮助。