c# – 我可以自定义AvalonDock上下文菜单吗?
发布时间:2020-12-15 07:48:09 所属栏目:百科 来源:网络整理
导读:我在项目中使用AvalonDock来利用工具窗口. 当我右键单击工具窗口标题栏时,我不需要选项卡式文档,并且想要禁用“Dock as Tabbed Document”上下文菜单项.这可能吗? 谢谢 解决方法 我认为这是一个简单的属性设置. 我使用codeplex 76560的最新资源. 您可以将Do
我在项目中使用AvalonDock来利用工具窗口.
当我右键单击工具窗口标题栏时,我不需要选项卡式文档,并且想要禁用“Dock as Tabbed Document”上下文菜单项.这可能吗? 谢谢 解决方法
我认为这是一个简单的属性设置.
我使用codeplex 76560的最新资源. 您可以将DockableStyle属性更改为您想要的样式: <ad:SampleDockableContent DockableStyle="DockableToBorders" x:Name="DockingManagerPropertiesHost" Title="Only dock to borders"> </ad:SampleDockableContent> 并可以覆盖此方法以禁用竞争菜单: public partial class SampleDockableContent : DockableContent { public SampleDockableContent() { this.InitializeComponent(); this.DataContext = this; } protected override bool CanExecuteCommand(ICommand command) { if (command == DockableContentCommands.ShowAsDocument) { if (this.DockableStyle == DockableStyle.DockableToBorders) { return false; } if (this.State == DockableContentState.Document) { return false; } } return base.CanExecuteCommand(command); } } 这是标志枚举: /// <summary> /// Defines how a dockable content can be dragged over a docking manager /// </summary> /// <remarks>This style can be composed with the 'or' operator.</remarks> public enum DockableStyle : uint { /// <summary> /// Content is not dockable at all /// </summary> None = 0x0000,/// <summary> /// Dockable as document /// </summary> Document = 0x0001,/// <summary> /// Dockable to the left border of <see cref="DockingManager"/> /// </summary> LeftBorder = 0x0002,/// <summary> /// Dockable to the right border of <see cref="DockingManager"/> /// </summary> RightBorder = 0x0004,/// <summary> /// Dockable to the top border of <see cref="DockingManager"/> /// </summary> TopBorder = 0x0008,/// <summary> /// Dockable to the bottom border of <see cref="DockingManager"/> /// </summary> BottomBorder= 0x0010,/// <summary> /// A <see cref="DockableContent"/> with this style can be hosted in a <see cref="FloatingWindow"/> /// </summary> Floating = 0x0020,/// <summary> /// A <see cref="DockableContent"/> with this style can be the only one content in a <see cref="DockablePane"/> pane (NOT YET SUPPORTED) /// </summary> /// <remarks>This style is not compatible with <see cref="DockableStyle.Document"/> style</remarks> Single = 0x0040,/// <summary> /// A <see cref="DockableContet"/> with this style can be autohidden. /// </summary> AutoHide = 0x0080,/// <summary> /// Dockable only to a border of a <see cref="DockingManager"/> /// </summary> DockableToBorders = LeftBorder | RightBorder | TopBorder | BottomBorder | AutoHide,/// <summary> /// Dockable to a border of a <see cref="DockingManager"/> and into a <see cref="DocumentPane"/> /// </summary> Dockable = DockableToBorders | Document | Floating,/// <summary> /// Dockable to a border of a <see cref="DockingManager"/> and into a <see cref="DocumentPane"/> but not in autohidden mode (WinForms controls) /// </summary> DockableButNotAutoHidden = Dockable & ~AutoHide } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- xml文件格式如下
- iphone – 为什么我的文件不进入“en.lproj”而是进入Xcode
- =与==的区别,C语言=与==的区别详解
- postgresql – postgres中的sp_send_dbmail替代方案?发送P
- ruby-on-rails – 使用具有嵌套关联的多态路径
- Cocos2D-X设计模式:防御式编程模式
- ruby-on-rails – 在factory_girl中使用params从另一个特征
- Flex中Object, String, XML, ArrayCollection互转
- ruby-on-rails – FactoryGirl:填充一个有很多关系保存构建
- 使用vuepress快速搭建个人博客(完整配置与源码)