问题标签 [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.

0 投票
1 回答
1423 浏览

c# - 使用 WPF 和 Avalon Dock 拖放

我有一个 WPF 应用程序,其中包含以下主窗口的代码子集:

我也有代码要添加DocumentContentDocumentPane.

我实现的拖放功能仅在将某些内容添加到 documentPane 后才有效。为什么 documentPane 在有子对象之前不接受放置?

0 投票
1 回答
350 浏览

c# - WPF、C#、绑定数据、AvalonDock

所以我对 C# 完全陌生。我已经完成了一些 Objective-C/iPhone 编程。我正在查看代码,我们有这个:

作为我们用于视图的 AvalonDock 的一部分。所以现在高层不喜欢 AvalonDock 并希望将其替换为这些其他视图,基本上摆脱了 layoutManger。我看到在上面的代码中,正在创建一个新的 SampleView,并以某种方式获取显示在视图中的数据。如果我更改 XAML 以在某种网格中显示视图,我如何获取这些数据?

(对不起,有点不明确的问题。我只是在学习代码中发生的事情)。

0 投票
1 回答
960 浏览

c# - 在 AvalonDock 中制作 DockableContent Stack

如何使两个可停靠内容窗格的初始启动状态堆叠而不是使用 AvalonDock 进行选项卡?

因此,在这种情况下,应用程序将作为选项卡加载为两个可停靠内容,一个隐藏在另一个后面。而我希望一个面板高于另一个(堆叠)而不是后面。

0 投票
1 回答
1756 浏览

wpf - 不填充高度的 WPF 固定选项

我正在寻找一个 WPF 选项,它在侧面显示面板,并允许您固定/取消固定它们。基本上这意味着一个窗口,主控件在中央,在该主控件的左右两侧有多个不同的面板。这些面板默认是折叠的,只有它们的标题可见,如果我将鼠标悬停在它们上面,它们会在主控件上展开(不取代主控件),但我也可以选择固定这个面板,它保持永久展开出,这一次强制主中心控件调整大小。

现在这听起来很像大多数停靠控制选项,而且我确实看过AvalonMixModes Synergy,但这些选项的问题是它们的面板填满了整个高度。当我将鼠标悬停在它上面时,我想要一个特定高度的面板出现,我不希望它填充到屏幕上,而且我真的找不到其他任何东西可以做到这一点。其他人见过这样的东西吗?

到目前为止,基本上我自己关于如何做到这一点的想法涉及以编程方式将面板从一个固定控件移动到另一个非固定控件,但这听起来很丑陋,我喜欢其他选择。

0 投票
1 回答
1716 浏览

c# - 动态创建选项卡并在其中注入视图

我使用 AvalonDock 具有类似 vs 的停靠风格,并使用 prism 在我的应用程序中注入视图。
基本上,用户将在侧面有一个面板,每个视图可加载一个按钮,每次他按下一个按钮时,我想在我的 AvalonDock 的 DocumentPane 上创建一个新选项卡,并在其中注入正确的视图。

现在我的印象是棱镜适合这种情况,但我无法弄清楚。

此外,我偶然发现了 Markus Raufer 的 DocumentPane 和 DockablePane 区域适配器,已将其添加到我的项目中并在引导程序中注册了映射。
这使我可以编译解决方案(所以我猜我已经接近了)。

到目前为止,我这样做:

在我的Shell我有一个地方:

在我的代码隐藏中,在引导等之后,我有一个地方可以:

执行此行不会向用户显示更多内容,但如果我执行两次,它会出错,说明视图已经注册(所以它确实添加了一些东西!)。

此外,当我放置一个常规的 ContentControl 时,标记它prism:RegionManager.RegionName="{x:Static inf:RegionNames.MainTabControlRegion}然后在其中添加一个 UserControl,就像我将它添加到 AvalonDock 的 DocumentPane 一样,它可以工作。怪异的

我究竟做错了什么?
谢谢,

粑粑

编辑:
如果像这样定义 MainTabControlRegion,实际上添加了第一个视图,现在我添加了另一个视图(不同的 UserControl)它没有显示它,但是 WPF Inspector 说它在那里。
从我的角度来看,它确实将 UserControls 添加到一个区域,但它不知道如何为我添加到 DocumentPane 的每个 UserControl 创建一个新选项卡。
由于我没有具体说明,我可能遗漏了一段代码?

每次我添加用户控件并将其插入其中时,我都希望它创建一个新选项卡。

编辑2:解决方案->在这里

0 投票
1 回答
1563 浏览

c# - AvalonDock :使用 DocumentPane 绑定时,新 DocumentContent 项的选项卡不可点击

我正在尝试使用下面的 xaml 将 DocumentPane 绑定到属性 ObservableCollection<DocumentContent> DocumentContent。

我的问题是,当将新的 DocumentContent 对象添加到 ObservableCollection 时,它会将选项卡正确添加到 DocumentPane,但该选项卡不可单击。

在切换到数据绑定之前,我使用的是 document.Items.Add(new DocumentContent()),它按预期工作。

有没有人知道为什么如果通过数据绑定添加选项卡则无法单击它们?

0 投票
1 回答
1571 浏览

wpf - WPF AvalonDock ExpressionDark

我一直在使用 WPF 和 AvalonDock,并想应用 AvalonDock.theme.ExpressionDark。

但是,当我应用这个主题时,停靠方向指示器不会出现。

如果我只是正常应用 AvalonDock(不应用任何额外的主题,而是使用默认主题),当我拖出 DockablePane 或 DocumentPane 时,它​​将显示一个停靠方向指示器。

但是,在我应用 ExpressionDark 主题后,此停靠方向指示器不会显示。

有谁知道为什么?我该如何解决?

非常感谢你。

0 投票
0 回答
2371 浏览

c# - 如何捕捉 AvalonDock 取消对接和对接事件?

我在 WPF 项目中使用 AvalonDock。我想知道如何处理对接和取消对接事件。我在拖动时尝试了 MouseDown 和 Up,但没有明显成功。

...

...

0 投票
1 回答
2634 浏览

wpf - 在样式化和编辑 AvalonDock 文档选项卡面板时遇到问题

我试图弄清楚如何使 AvalonDock 的 VS2010 样式更像 VS2010。我运行的问题是,当有更多的标签时比在标题区域中适合时,用户没有指示有更多的标签。

我认为选项卡标题只是被剪裁而不可见。我有一个 VS2010 样式的自定义副本并转到 DocumentPane 样式:

并发现选项卡标题(我认为)为“ad:DocumentTabPanel”。我将它包装在 ScrollViewer 中:

滚动查看器设置为具有自定义样式:

我遇到的问题是,即使我加载了大量选项卡,滚动也不起作用。我不认为这是我的造型问题。选项卡标题似乎不在 VisualTree 中或具有折叠的可见性。我已经浏览了 Av​​alonDock 源代码一段时间,但我看不到标题是如何隐藏的。

我已经不得不对一些 AvalonDock 类进行子类化,因为我需要它们的附加属性。

有人可以解释/帮助我想出一个滚动标签的解决方案吗?

0 投票
2 回答
1512 浏览

c# - 复合视图 - 视图已存在于区域错误中

我正在开发 WPF/Prism 4/AvalonDoc 应用程序。

我的一个观点非常复杂,ViewModel 变得庞大而难以管理。所以我决定用他们自己的 ViewModel 把它拆分成更小的视图。

我已经在视图上放置了一个区域,并使用“主”ViewModel 构造函数中的 regionManager.RegisterViewWithRegion 方法将子视图加载到该区域中。

当仅加载视图的一个实例时,这将按预期工作。但是当我打开该屏幕的第二个实例(它作为 DocumentContent 加载到 AvalonDock 的 DocumentPane 中)时,我收到“区域中已存在视图”错误。

如果可能,我想避免给该地区一些独特的名称。有没有办法表明我正在向“主”视图的特定实例添加子视图?关于如何做到这一点的任何建议?