代码之家  ›  专栏  ›  技术社区  ›  Bruno

在silverlight中,xaml中的事件处理程序是如何声明的

  •  2
  • Bruno  · 技术社区  · 15 年前

    我有一个简单的用户控件,包含以下内容:

    <Grid x:Name="LayoutRoot">
    
      <Button x:Name="btnOpenGenericPage" Click="btnOpenGenericPage_Click" Content="Open"/>
    
    </Grid>
    

    然而,一旦这个控件从VisualTree中移除,我似乎不明白事件是否正在发生。如果是,谁负责?是否有任何情况下,该事件将不会不知情?有人能解释一下这个问题吗?

    非常感谢,

    2 回复  |  直到 15 年前
        1
  •  1
  •   AnthonyWJones    15 年前

    它不会失去理智。你必须这么做你自己:-

    btnOpenGenericPage.click -= btnOpenGenericPage_Click
    

    btnOpenGenericPage = null;
    

    当然,如果 Usercontrol 哪个 btnOpenGenericPage 如果站点本身被从树中删除,那么它就可以进行垃圾收集,那么您通常不需要做任何事情。

        2
  •  1
  •   Cyberherbalist    15 年前

    visualstudio通过从生成的代码中删除它来解除它的锁定。该方法可能会保留在代码隐藏文件中,但它已断开连接,无法运行。