【发布时间】:2019-10-09 15:37:16
【问题描述】:
我创建了一个 Delete MenuItem 并将一个命令绑定到它。 现在我遇到了问题,如果我按下 Delete MenuItem,什么也没有发生。此外,如果程序使用调试器执行,它永远不会到达私有 void DeleteItem。
xaml:
<ListBox.ItemTemplate>
<DataTemplate>
<Border Background="#F5F5F5" Width="80" Height="60" Margin="0,5,5,5">
<Border.ContextMenu>
<ContextMenu>
<MenuItem Header="Delete"
Command="{Binding Path=DeleteItemCommand, RelativeSource={RelativeSource FindAncestor, AncestorType= MenuItem}}">
<MenuItem.Icon>
<Label FontFamily="#FontAwesome" Content="" />
</MenuItem.Icon>
</MenuItem>
</ContextMenu>
</Border.ContextMenu>
视图模型:
public ICommand DeleteItemCommand { get; set; }
DeleteItemCommand = new RelayCommand(DeleteItem);
private void DeleteItem(object obj)
{
try
{
// Do Magic
}
catch (Exception)
{
MessageBox.Show(error);
}
}
如果有人可以帮助我或对如何解决它有任何想法,那就太好了,因为我找不到错误。
【问题讨论】: