我是用使用MVVM模式的WPF 4。我有一个TabControl - 它看起来像这样:
<TabControl x:Name="Items" ItemsSource="{Binding Screens}"
SelectedItem="{Binding ActiveScreen}">
<TabControl.ItemTemplate>
<DataTemplate>
<ContentControl>
<Button Command="{Binding
DataContext.ScreenCloseCommand,
ElementName=MainWindow}"
CommandParameter="{Binding}">X</Button>
</ContentControl>
</DataTemplate>
</TabControl.ItemTemplate>
问题在于,CommandParameter="{Binding}" 持有当前显示的View/ViewModel的强引用。我该如何移除该命令?换句话说:我需要一种方法来通过只拥有TabControl.ContentTemplate(ViewModel和View)的引用来移除ItemTemplate中的按钮命令。比如遍历项目、查找项目、移除命令...
谢谢 Michael