当使用一组 Anchorables 设置 AvalonDock 时,例如:
<a:LayoutRoot>
<a:LayoutPanel Orientation="Horizontal">
<a:LayoutAnchorablePane>
<a:LayoutAnchorable Title="A1">
<!-- content -->
</a:LayoutAnchorable>
<a:LayoutAnchorable Title="A2">
<!-- content -->
</a:LayoutAnchorable>
</a:LayoutAnchorablePane>
<!-- ... -->
DockingManager(或者 AvalonDock 中的其他东西)是否带有内置方式
管理已关闭的锚点?它们是否存储在某个集合中以便可以检索并再次显示?
例如,用户关闭上面代码中的第一个(A1),会发生什么?
我怎样才能再次显示它?
处理关闭和恢复锚定对象的典型工作流程是什么?
当你添加了xceed
标签,我假设您使用的是 Avalondock 2.0。
例如,用户关闭上面代码中的第一个(A1),
它会发生什么?
您的可锚定对象将被隐藏。如果您选择命名您的锚定对象(例如:<a:LayoutAnchorable Title="A1" x:Name="myAnchorable">
),您将在视图的代码中看到this.myAnchorable.IsHidden
变成true
.
我怎样才能再次显示它?
Call .Show()
反对你的锚定:this.myAnchorable.Show();
话虽如此,Avalondock 2.0 与 1.0 完全不同,因为它现在允许轻松使用 MVVM(尤其是绑定)。所以最好的做法是不要静态添加LayoutAnchorable
在 XAML 中,而是管理 ViewModel 的集合(绑定到AnchorablesSource
的财产DockingManager
)。然后很容易显示/隐藏锚点,因为您只需获取/设置绑定到的 ViewModel 属性Visibility
的财产LayoutAnchorableItem
.
您可以查看 Avalondock 提供的 WPF 示例。这是一个名为AvalonDock.MVVMTestApp
in 他们的代码来源 https://avalondock.codeplex.com/SourceControl/latest.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)