c# - 如何在数据模板中调用按钮?
问题描述
我的工作按钮有问题。我使用 ObservableCollection 创建了显示项目的模式,但我的按钮不起作用。
在这里,我显示带有剂量工作按钮的项目
<ItemsControl ItemsSource="{Binding Vehicles}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Task:VehcileTask/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
这是带有 VehicleTask 的代码显示按钮
<Button Background="Red" Content="Delete" Command="{Binding DeleteItem}">
</Button>
这是调用的命令
public ICommand DeleteItem { get; set; }
解决方案
假设 DeleteItem 命令是您的主 ViewModel 的属性,而不是单个数据项,那么您需要通过相关数据绑定来引用它。
Command="{Binding Path=DataContext.DeleteItem, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
您还需要将要删除的项目作为 Button 的 CommandParameter 包含在内
CommandParameter="{Binding}"
并在命令的相应方法中引用该参数值。
推荐阅读
- java - 在 WAS 9 上使用 Apache HttpClient 和 IBM Jsse2 的 SSLHandshakeException
- python - 使用 elementtree 对嵌套元素进行排序
- java - 为什么这被认为是不安全的?
- excel - 应用程序.双击
- cmake - 为 CMake 项目添加包含路径到 qt-creator
- django - Django rest api - 使用搜索过滤器搜索方法字段
- web-scraping - Goutte Scraping - JSON-LD - 仅“@type”:“Product”
- python - multiprocessing.Pool.map_async() 的结果是否以与输入相同的顺序返回?
- java - 读取 java 中的 CSV 文件并检索处理所有 n-case 的值
- python - 有没有办法通过在单独的 df 中出现项目(按顺序)来复制和连接 df 组(订单)?