我正在使用带有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中删除Button命令。像浏览物品,找到物品,删除命令...
由于 迈克尔
答案 0 :(得分:1)
我认为你在看错了问题。保持ViewModel活着的不是Binding
。它是整个TabControl
以及它所绑定的集合。
如果您描述了您尝试解决的实际问题,而不是您尝试使用的解决方案,我们可能会帮助您更好。