4

我正在使用带有 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 中删除按钮命令的方法。像浏览项目,找到项目,删除命令......

谢谢迈克尔

4

1 回答 1

1

我认为你正在寻找错误的问题。这不是Binding让 ViewModel 保持活力的原因。TabControl它是它所绑定的整体和集合。

如果您描述了您要解决的实际问题,而不是您尝试使用失败的解决方案,我们可能会为您提供更好的帮助。

于 2011-10-25T00:36:19.750 回答