我有一个简单的用户控件,其中包含以下内容:
<Grid x:Name="LayoutRoot">
<Button x:Name="btnOpenGenericPage" Click="btnOpenGenericPage_Click" Content="Open"/>
</Grid>
我了解单击事件处理程序是如何创建和连接的->在.g.cs类的InitializeComponent方法上,将调用System.Windows.Application.LoadComponent方法并完成所有操作。
但是,一旦从VisualTree中删除了此控件,我似乎就无法理解是否正在取消该事件。如果是,谁来照顾这个?在任何情况下都不会取消活动的连线吗?有人可以说明这个问题吗?
提前谢谢了,
布鲁诺。
最佳答案
它不会自行断开连接。您必须自己做:-
btnOpenGenericPage.click -= btnOpenGenericPage_Click
不仅如此,您还需要确保btOpenGenericPage已发布,您需要:-
btnOpenGenericPage = null;
当然,如果将
Usercontrol
所在的btnOpenGenericPage
本身从树中删除,以使其变得易于垃圾收集,那么您通常不需要执行任何操作。关于c# - 在Silverlight中,如何取消在xaml中声明的事件处理程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3576988/