gpt4 book ai didi

wpf - 何时释放 UserControl 事件处理程序?

转载 作者:行者123 更新时间:2023-12-04 20:51:58 29 4
gpt4 key购买 nike

如果我在后面的代码中在 UserControl 上注册事件。例如:

public partial class PositionView : UserControl
{
// If required ViewModel can be accessed using DataContext
public PositionViewModel ViewModel
{
get { return (PositionViewModel) this.DataContext; }
}

public PositionView()
{
InitializeComponent();

this.DataContextChanged += new System.Windows.DependencyPropertyChangedEventHandler(PositionView_DataContextChanged);
}

void PositionView_DataContextChanged(object sender, System.Windows.DependencyPropertyChangedEventArgs e)
{
this.ViewModel.UpdateTotalsChanged.Subscribe(_ => this.PositionGridControl.UpdateTotalSummary());
}
}

我应该什么时候处理事件处理程序?没有可以 Hook 的 IDisposable 吗?

如果我通过 xaml 绑定(bind)到事件,这在生命周期管理方面是否会是一个更干净的解决方案?

最佳答案

EventEventHandler 的来源都是本地的。因此,它们将在收集 UserControl 本身时被收集。

UserControl 被收集时,将没有其他对象使您的 eventHandler 保持事件状态。因此,您无需手动实现“生命周期管理”。

关于wpf - 何时释放 UserControl 事件处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11082628/

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