gpt4 book ai didi

.net - WPF 命令 - 内存泄漏

转载 作者:行者123 更新时间:2023-12-01 05:37:22 26 4
gpt4 key购买 nike

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

谢谢
迈克尔

最佳答案

我认为你正在寻找错误的问题。这不是 Binding使 ViewModel 保持事件状态。这是整个TabControl以及它绑定(bind)到的集合。

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

关于.net - WPF 命令 - 内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7880776/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com