- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图将 anchor 添加到特定的目标。为了做到这一点,我尝试实现ILayoutUpdateStrategy:
public class DockingContentInitializer : ILayoutUpdateStrategy
{
public void AfterInsertAnchorable(LayoutRoot layout, LayoutAnchorable anchorableShown)
{
}
public void AfterInsertDocument(LayoutRoot layout, LayoutDocument anchorableShown)
{
}
public bool BeforeInsertAnchorable(LayoutRoot layout, LayoutAnchorable anchorableToShow, ILayoutContainer destinationContainer)
{
LayoutAnchorablePane _Destination = destinationContainer as LayoutAnchorablePane;
if (destinationContainer != null &&destinationContainer.FindParent<LayoutFloatingWindow>() != null)
return false;
if(anchorableToShow.Content is IMainAnchorContent)
{
if(layout.Descendents().OfType<LayoutAnchorablePane>().FirstOrDefault(d => d.Name == "MainPane") == null)
{
LayoutAnchorablePane MainPane = new LayoutAnchorablePane();
MainPane.Name = "MainPane";
layout.RootPanel.Children.Insert(0, MainPane);
MainPane.Children.Add(anchorableToShow);
return true;
}
else
{
(layout.Descendents().OfType<LayoutAnchorablePane>().FirstOrDefault(d => d.Name == "MainPane") as LayoutAnchorablePane).Children.Add(anchorableToShow);
return true;
}
}
if (anchorableToShow.Content is IAdditionalAnchorContent)
{
if (layout.Descendents().OfType<LayoutAnchorablePane>().FirstOrDefault(d => d.Name == "AdditionPane") == null)
{
LayoutAnchorablePane Pane = new LayoutAnchorablePane();
Pane.Name = "AdditionPane";
layout.RootPanel.Children.Add(Pane);
Pane.Children.Add(anchorableToShow);
return true;
}
else
{
(layout.Descendents().OfType<LayoutAnchorablePane>().FirstOrDefault(d => d.Name == "AdditionPane") as LayoutAnchorablePane).Children.Add(anchorableToShow);
return true;
}
}
return false;
}
public bool BeforeInsertDocument(LayoutRoot layout, LayoutDocument anchorableToShow, ILayoutContainer destinationContainer)
{
return false;
}
<avalon:DockingManager x:Name="DockManager"
Grid.Row="2"
BorderBrush="Black"
Margin="3"
Background="#FFFDFDFD"
BorderThickness="0"
DataContext="{Binding DockingManager}"
DocumentsSource="{Binding Documents}"
AnchorablesSource="{Binding Anchorables}">
<avalon:DockingManager.Resources>
<DataTemplate DataType="{x:Type vm:ProjectTreeViewModel}">
<local:ProjectTreeView />
</DataTemplate>
<DataTemplate DataType="{x:Type vm:ComponentTreeViewModel}">
<local:ComponentTreeView />
</DataTemplate>
</avalon:DockingManager.Resources>`<avalon:DockingManager.LayoutUpdateStrategy>
<behaviors:DockingContentInitializer />
</avalon:DockingManager.LayoutUpdateStrategy>
<avalon:DockingManager.LayoutItemContainerStyle>
<Style TargetType="{x:Type avalonctrl:LayoutItem}">
<Setter Property="Title" Value="{Binding Model.Title}"/>
<Setter Property="CloseCommand" Value="{Binding Model.CloseTabCommand}"/>
<Setter Property="CanClose" Value="{Binding Model.CanCloseTab}"/>
</Style>
</avalon:DockingManager.LayoutItemContainerStyle>
</avalon:DockingManager>`
最佳答案
好吧,我弄清楚了-我使用MVVM Light在将 View 加载到DockingManager之前初始化了带有 anchor 定集合的viewModel。多数民众赞成在RootPanel中创建两个布局而不是一个,看起来像是引起了问题。
现在,我在DockingManager被“加载”之前等待,然后才将元素放入我的Anchorable集合中。
关于wpf - BeforeInsertAnchorable从不调用(Avalon Dock 3.2.0.0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49967563/
我使用的是Avalon 文本编辑器,并且向上键和向下键的光标位置没有改变。谁能建议我如何克服这个问题? 针对左右键导航,光标位置会正确更改。 我还检查了按键事件中插入符号的值,并且它不会因向上和向下按
我正在使用 AvalonEdit 编写电影脚本编辑器。 我扩展了 DocumentLine 类,使其具有“Type”属性,其值代表“Character”、“Dialog Line”等。 我希望脚本中某
我正在为一个评估项目工作,我需要能够将数据写入 avalon 从属模块,以便从运行在 DE0 板上的 nios 系统上的 2 个不同输入中选择数据。经过多番努力,我一直无法将数据从运行在 nios 核
我正在使用 AvalonDock 2.0 作为选项卡控件管理器,但是我还没有找到允许多行选项卡(需要时)的方法,或者显示后台隐藏选项卡的方法。 多行tab可以通过模板或者样式实现吗?还是我错过了一些我
我知道如果您处理编辑器的 PreviewKeyDown 事件然后将 KeyEventArgs 的 e.Handled 设置为 true,则可以完全禁用输入。 但是,我想弄清楚如何防止文档文本在修改后更
我在使用 Avalon Docking 时遇到问题,我的第二个面板停靠在底部并设置为“自动隐藏”。当 UI 运行时, Pane 默认加载为“停靠/可见”。我想将其隐藏/最小化。
我使用 Daniel Grünwald 的 BraceFoldingStrategy: public IEnumerable CreateNewFoldings(ITextSource documen
外部资源:http://www.codeproject.com/Articles/42490/Using-AvalonEdit-WPF-Text-Editor 我正在使用编辑器来显示日志文件,并希望它
我正在使用 avalon edit 编写一个自定义软件,我正在寻找一种方法来使行之间的空间(高度)更大。目前,每次用户结束写一行并想写另一行时,我都被迫添加一个空行。 我已经开始研究 TextView
我以这种方式在代码中创建面板: DockableContent dockableContent = CreateDockableContent(model); dockableContent.Show
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我有一个 AvalonDock DockingManager 控件,其中包含一些子 anchor (无文档)。如果这些 anchor 从主 DockingManager float ,我知道它们仍然是
我在我的 WPF 应用程序中使用 Avalon。我想要一个类似于 Visual Studio 的窗口,左边是工具,中间是文档,右边是属性。我设法用这段代码做到了这一点:
我在基于 PRISM 的 WPF 应用程序中使用 AvalonDock。我的文档 Pane 能够 float (CanFloat =“true”)。但任务栏中不显示 float 窗口。有什么方法可以让
我在一个类似于 Notepad++ 的项目中使用Avalon Dock,我将文档作为文档内容,我面临的问题是当用户关闭文档内容时 如果他/她想在关闭前保存文档,我希望他得到一个弹出消息。 我怎样才能做
我正在使用 Avalon Wizard控制,我有很多页面,但只有 2 个给我带来问题,所以它们将是所有内容: 现在的问题是,主页的允许下一步工作正常,但是在扣除页面上,
我已经集成了流行的 UI 库 Mahapps与 Avalon.Wizard控制。 它集成得很好,但我对 Mahapps 对话框有疑问。向导控件定义一个 InitializeCommand 来处理向导页
我试图将 anchor 添加到特定的目标。为了做到这一点,我尝试实现ILayoutUpdateStrategy: public class DockingContentInitializer : IL
我正在使用 devexpress,在上下文菜单上试图隐藏 RootPanel 中存在的许多 LayoutDocument 之一。 下面是文档 Pane xml 文件。
我需要用于 Web 的文本编辑器 (jQuery) 具有代码完成 (intelli-sense) 支持,例如 AvalonEditor对于 WPF框架。 请分享建议。 Requirements: I
我是一名优秀的程序员,十分优秀!