问题标签 [avalondock]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wpf - Prism RegionAdapter - 删除然后添加视图
我有一个包含 AvalonDock 的 prism/wpf/mef 解决方案。我创建了一个RegionAdapterBase<Pane>
类来处理从 AvalonDock 创建和删除窗格。
这是我遇到的问题:
- 我单击菜单中的一个按钮,一个视图注册到一个区域并显示在我的
DocumentPane
- 我单击 AvalonDock 中的关闭按钮以关闭选项卡并删除视图
- 我单击相同的菜单按钮再次将其添加回来
- 我收到错误:
“指定元素已经是另一个元素的逻辑子元素。先断开它。”
所以......这告诉我有东西挥之不去,我需要删除,但我不知道它在哪里。下面是我的 RegionAdapter 中的一些代码:
从我的调试行中,DocumentPane
视图和区域视图正在被正确销毁......当我单击以将项目添加回视图时,我在以下行中收到上述错误消息:
这是按下菜单按钮时运行的模块中的代码:
知道我错过了什么吗?
c# - 未捕获 ExecutionEngineException
我很好奇为什么在执行下面的代码时没有捕获到 ExecutionEngineException。
永远不会到达 WriteLine。任何想法如何捕捉这个异常?
注意:我知道当 DockablePanes 之一处于 AutoHide 模式、可见并且用户试图关闭 wpf 窗口时,AvalonDock 会引发异常。
更新:我已阅读msdn 上有关此异常的备注部分:
CLR 永远不会以托管代码可以捕获它的方式抛出此异常。
所以问题是如何在这样的事情之后很好地关闭应用程序。
c# - 浮动 DockableContent 位置
我不确定我的术语是否正确,但是当我取消停靠 (DockableContent) 选项卡时,我可以让它漂浮在我的桌面上,就好像它是一个工具窗口一样。Top 和 Left 似乎不是可用的属性。如何确定它在屏幕上的位置?
mvvm - avalondock mvvm
在 MVVM 环境中使用avalondock似乎相当具有挑战性。一旦我从 shellview 中分离 DocumentPane,我就会丢失相应的数据上下文并且我的视图是空的。重新连接时,它会恢复正常。
有没有人有办法解决吗 ?
wpf - DockableFloatingWindow 上的最大化和 Aero 捕捉
我有以下代码使未停靠的浮动 AvalonDock 窗口能够最大化:
我该如何为此添加Aero Snap功能?
c# - 在关闭 C# 之前保存 Avalon Dock 文档内容
我在类似于 notepad++ 的项目中使用 Avalon Dock 我将文档作为文档内容,我面临的问题是当用户关闭文档内容时
如果他/她想在关闭之前保存文档,我希望他得到一个弹出消息。
我怎样才能做到这一点?
先感谢您。
c# - AvalonDock DocumentContent 没有被垃圾收集
我创建了一个使用 AvalonDock 框架的应用程序。AvalonDock.DocumentContent
一个关键部分是使用派生编辑器编辑域模型实体的能力。我遇到了一个问题,发现我的编辑器在关闭并从集合中删除后没有被垃圾收集DockingManager.Documents
。
经过一番徒劳的搜索后,我创建了一个可以通过以下方式重新创建的小型测试应用程序:
- 在 Visual Studio(我使用的是 2008)中,创建一个名为的新 WPF 应用程序
AvalonDockLeak
; - 添加对AvalonDock库的引用(我的版本是1.3.3571.0);
- 添加一个名为
Document
;的新用户控件 将 Document.xmal 更改为:
/li>将 Document.xmal.cs 更改为:
我添加的析构函数能够诊断问题,在打开 { 的方法上添加断点,并查看它是否被命中。它总是在关闭测试应用程序时执行,但不是更早。
现在将 Window1.xaml 更改为:
/li>将 Window1.xaml.cs 更改为:
/li>
这个简单的应用程序也包含泄漏。~Document()
可以通过打开 { 关闭 a 后没有被命中的断点来观察DocumentContent
。
现在我想要的是,这是一个已知问题吗?有没有办法防止它?如果对象只是在很长一段时间后才被垃圾收集,那么我能做些什么来加快这一点?顺便说一下,调用 GC.Collect() 并没有帮助。
wpf - 为什么这个数据绑定不起作用?(WPF)
我有这个不起作用的数据绑定,我不知道为什么。我在输出窗口中收到的消息是:
xml是:
C#'代码如下:
更新1
简化版:
Xaml 代码(用户控件)
用户控制 C# 代码:
我在输出中没有收到任何绑定错误,但分箱不起作用。
更新2
检查 Snoop,我发现 UserControl1 不是 textbox2 的父级(!)。我相信 Avalon 扩展坞将父类型从 UserControl1 更改为不同的类型。MainGrid 的父级是 contentPresenter,并且在可视化树中没有 UserControl。
我能做些什么?
prism - 恢复布局不会恢复模块内容
我正在使用带有 AvalonDoc 的棱镜。
当我尝试恢复布局时(在菜单按钮“RestoreLayout”的事件处理程序上)
dockManager.RestoreLayout(文件名);
我确实得到了正确的布局结构,但是每个区域的内容现在都是空的。我需要重新加载到模块或类似的东西吗?
我的 xaml 代码中的 avalondoc 代码是这样的:
avalondock - AvalonDock 鼠标右键菜单
如何在 DockablePane(AvalonDock.dll 中的 UI)鼠标右键菜单中禁用?请帮助,我需要那个。因为我想为我的项目提供多语言,而且它只有英文