Ame*_*nti 10 wpf xaml attachedbehaviors windows-runtime
在WPF和WinRT中,众所周知行为不能可靠地调用它们的Detach方法.避免内存泄漏的唯一方法是订阅AssociatedObject的Unloaded事件并取消挂起所有事件(示例).
到目前为止它的作用.
但我意识到(就像其他评论我链接的博客条目的人一样),以这种方式,卸载的行为永远不会再次附加.以MenuFlyout为例.如果有一个附加到MenuFlyoutItem的行为,则在关闭MenuFlyoutItem时将其卸载.如果再次打开菜单,则不会重新连接.
其他UserControl也会发生这种情况.当我在WinRT应用程序中从一个页面导航到另一个页面时,我"失去"行为,然后再次返回,尽管所有控件都重新创建.我没有看到如何在WinRT应用程序中使用它们,其中通过导航重新创建了许多控件.
有没有已知的解决方案?
非常感谢 @Justin XL,Microsoft 更新了 UWP 的行为 SDK 并将其开源。新的库解决了导航分离问题!:)
http://blogs.windows.com/buildingapps/2015/11/30/xaml-behaviors-open-source-and-on-uwp/
https://twitter.com/hashtag/BehaviorsGoOpenSource?src=hash
归档时间: |
|
查看次数: |
1320 次 |
最近记录: |