【问题标题】:Setting Window.Content doesn't destroy the UI that was there before?设置 Window.Content 不会破坏之前的 UI?
【发布时间】:2009-05-27 16:27:34
【问题描述】:

我正在使用 XamlReader 加载 XAML 文件并将返回对象设置为窗口的 Content 属性。虽然这似乎运作良好,但它并没有达到我的预期。如果窗口的原始 XAML 包含键绑定或按钮,它们似乎仍然存在。键绑定仍然有效,代码中的任何 Button 对象仍然有效。自从我用新的 XAML 替换它们后,我原以为一切都会被销毁,但事实并非如此。

那么设置内容到底有什么作用呢?它不做什么?

谢谢!

【问题讨论】:

    标签: c# wpf xaml


    【解决方案1】:

    更改 Content 属性只是切换表示 Window 内容的对象,所有元素树都将保留,包括绑定。 在 WPF 中,您不能显式地处置控件,因为没有什么可处置的,我的意思是,没有要释放的非托管资源。如果以后不引用此控件,GC 将清除它们。对于键绑定,您必须以编程方式删除它们,遍历窗口控件或调用相应的应用程序命令清理器,例如:

    ApplicationCommands.Close.InputGestures.Clear();
    

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-03
      • 2021-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多