WPF实现选项卡效果(2)——动态添加AvalonDock选项卡

article/2025/9/24 21:50:51
原文: WPF实现选项卡效果(2)——动态添加AvalonDock选项卡

简介

  在前面一篇文章里面,我们使用AvalonDock实现了类似于VS的选项卡(或者浏览器的选项卡)效果。但是我们是通过xaml代码实现。
  现在我们尝试通过C#代码实现选项卡的动态添加
  完整系列
  ● 第一部分
  ● 第二部分
  ● 第三部分
  在Git中下载工程源码

修改Xaml代码

  在前面一篇文章的Xaml代码里面,添加如下代码:  

 <Grid.RowDefinitions><RowDefinition Height="25"></RowDefinition><RowDefinition></RowDefinition></Grid.RowDefinitions><Menu Name="Menu1"  Grid.Row="0"><MenuItem Name="item_AddNew" Header="添加新选项卡" Click="item_AddNew_Click"></MenuItem></Menu>

  在Xaml代码中,为LayoutDocumentPane添加Name属性。  

<avalon:LayoutDocumentPane x:Name="layOutPane"  DockWidth="300">

  在我们的设计中,我们通过点击“添加新选项卡”的菜单,来完成动态添加选项卡的工作。因此,动态添加的C#代码需要书写在item_AddNew_Click中。

书写C#代码,实现动态添加

  打开MainWindow.xaml.cs文件,在代码头部添加如下引用: 

using Xceed.Wpf.AvalonDock;
using Xceed.Wpf.AvalonDock.Layout;

  然后书写菜单的点击事件。  

 int clickCount = 0;private void item_AddNew_Click(object sender, RoutedEventArgs e){clickCount++;LayoutAnchorable layOutAnc = new LayoutAnchorable() { Title = "新选项卡"+clickCount };layOutAnc.Content = new TextBox() { Text="这是第"+clickCount+"个新选项卡"};layOutPane.Children.Add(layOutAnc);}

  运行程序,效果如下:
  这里写图片描述
  我们实现了选项卡的动态添加。


http://chatgpt.dhexx.cn/article/j5Gf57Po.shtml

相关文章

Microsoft.Windows.Controls.Ribbon.RibbonWindow 碰到 AvalonDock出现的诡异现象

部分一 14年底进入目前公司时&#xff0c;领导准备开发一款新软件平台以取代原有平台。原平台采用CBuild开发界面(window c/s客户端) 、Visual Studio(封装dll模块)。过完年&#xff0c;领导已把框架搭建完毕(过年期间领导加班了 _ )。当时菜鸟一个(目前老鸟了)&#xff0c;新…

WPF实现选项卡效果(1)——使用AvalonDock

WPF实现选项卡效果&#xff08;1&#xff09;——使用AvalonDock 原文: WPF实现选项卡效果&#xff08;1&#xff09;——使用AvalonDock 简介 公司最近一个项目&#xff0c;软件采用WPF开发&#xff0c;需要实现类似于VS的选项卡(或者是浏览器的选项卡)效果。搜寻诸多资料后&a…

AvalonDock使用(2)-简单布局设置

在上一篇《AvalonDock的基本用法》中&#xff0c;我们使用AvalonDock控件&#xff0c;简单实现了&#xff0c;停靠左右两边的面板&#xff1b;这是面板的默认停靠位置&#xff1b;当然你也可以拖动它&#xff0c;让浮动&#xff0c;也可以让它停靠在其它地方&#xff1b; 通过简…

wpf-AvalonDock-使用技巧总结

LayoutAnchorable展示时的宽度 开始时LayoutAnchorable是隐藏的&#xff0c;控制展示时的宽度用 <avalondock:LayoutAnchorable Title"描述信息" AutoHideWidth"300">

Avalondock 第四步 边缘停靠

前一章介绍了分组功能&#xff0c;这一章主要介绍细节信息&#xff0c;LayoutRoot的side属性 LayoutRoot包含四个属性&#xff0c;LeftSide&#xff0c;RightSide,TopSide,BottomSide,分别用于展示DockingManager中左右上下四个位置的内容&#xff0c;但初始状态为隐藏状态。 …

Avalondock 第二步 创建文档面板

Avalondock 第二步 创建文档面板 上一篇已经介绍了如何创建一个停靠面板&#xff0c;本章主要介绍&#xff0c;文档面板的定义。文档面板和可停靠面板很相似 建立文档面板LayoutDocumentPane LayoutDocumentPane:文档窗格类&#xff0c;与LayoutAnchorablePane类似&#xff…

【AvalonDock】布局控件使用教程

1、Nuget 包 XceedProucts.Wpf.Toolkit.AvalonDock 包安装 2、安装完成&#xff0c;项目会引入这两个dll 3、在MainWindows窗体中引入命名空间 xmlns:avalon"http://schemas.xceed.com/wpf/xaml/avalondock" 4、Avalon 布局。 靠边隐藏窗口 LayoutRoot.LeftSid…

Avalondock 技巧之如何隐藏浮动面板停靠器

avalondock 技巧之如何隐藏浮动面板停靠器 之前开发的一个项目需要实现窗口的浮出&#xff0c;拖拽&#xff0c;停靠等功能&#xff0c;于是想到了神器Avalondock&#xff0c;这个框架功能相当强大&#xff0c;而且能实现多种主题样式的控件&#xff0c;特别是窗口的浮动停靠等…

[转]AVALONDOCK 2.0入门指南第一部分

AvalonDock 2.0可以用来为WPF创建一个类似Visual Studio的界面&#xff0c;深入理解如何使用AvalonDock进行开发是很重要的。 在这个入门指南里&#xff0c;我将演示如何开始使用AvalonDock&#xff0c;下面的文章都是基于2.0版本的。并且不能用于早期的版本。 AvalonDock是一个…

WPF AvalonDock拖拽布局学习整理

AvalonDock提供了一个系统&#xff0c;允许开发人员使用类似于许多流行的集成开发环境&#xff08;IDE&#xff09;中的窗口对接系统来创建可自定义的布局。 AvalonDock遵循MVVM设计。Model由Xceed.Wpf.AvalonDock.Layout命名空间中包含的类表示。此命名空间中的类是布局模型中…

WPFAvalonDock基本用法

本文简单介绍AvalonDock2.0基本用法&#xff0c;下载AvalonDock 2.0dll及主题http://avalondock.codeplex.com/ AvalonDock基本类介绍 DockingManager:停靠管理类&#xff0c;xaml中AvalonDock的根节点 LayoutRoot:布局根节点&#xff0c;有四个属性LeftSide,RightSide,TopS…

AvalonDock的基本用法

AvalonDock是优秀的开源项目&#xff0c;用于创建可停靠式布局&#xff0c;能够在WPF中方便开发出类似VS2010的软件界面。对于复杂的软件系统&#xff0c;大量控件的使用会使的界面变得难以管理。AvalonDock帮我们解决了这一问题。想要在WPF项目中使用AvalonDock的功能&#xf…

WPF随笔(十)--使用AvalonDock实现可停靠式布局

我们每天使用的许多软件都使用了可停靠式布局&#xff0c;可以方便的打开、关闭、收起、展开、移动选项卡。今天就来说明如何使用AvalonDock实现这种可停靠式布局。 AvalonDock安装 最新版本的AvalonDock类库包含在程序包Extended.Wpf.Toolkit中&#xff0c;属于Xceed旗下的一…

WPF AvalonDock 常用功能使用

AvalonDock是什么&#xff1f; AvalonDock是一个开源项目【GitHub - Dirkster99/AvalonDock: Our own development branch of the well known WPF document docking libraryGitHub - Dirkster99/AvalonDock: Our own development branch of the well known WPF docume…

WPF 第三方控件学习使用——可停靠布局控件(AvalonDock)

需求 近期在做公司上位机产品规划与实验&#xff0c;参考了Blender软件的布局风格&#xff0c;希望能用WPF也做一个类似布局的上位机。于是开始寻找资源&#xff0c;很快就发现了AvalonDock。 AvalonDock简介 AvalonDock是Xceed公司 Wpf.Toolkit 中的一款收费产品&#xff0…

wpf-AvalonDock基础-安装和更换主题

2022/7/29更新&#xff1a;去掉标题行的钉子 在LayoutAnchorable上添加属性&#xff1a; CanAutoHide"False" CanClose"False"如果要去掉X&#xff0c;再添加 CanHide"False"最近对wpf的多窗口排列问题深感头疼&#xff0c;算尺寸、位置太麻烦…

AvalonDock使用(1)-基本用法

AvalonDock的基本用法 介绍AvalonDock库中的基本类DockingManager&#xff1a;停靠管理器类LayoutRoot : 布局根节点类LayoutPanel&#xff1a;布局面板类LayoutAnchorablePane&#xff1a;可停靠窗格类LayoutAnchorable:可停靠内容类 LayoutDocumentPane:文档窗格类LayoutDocu…

十进制-75在计算机中,十进制数75转换成二进制数是多少?

75转换成二进制是&#xff1a;1001011。 75/237......1 37/218......1 18/29.........0 9/24...........1 4/22...........0 2/21...........0 从下往上读余数&#xff0c;就是整数部分的案1001011。拓展资料&#xff1a; 十进制整数转换为二进制整数方法&#xff1a; 十进制整…

二进制数的算术运算

2&#xff0c; 二进制数的算术运算 2.1 二进制数的算术运算 二进制数的算术运算包括加法、减法、乘法和除法。 1)加法运算 加法进位规则:逢二进一。 加法运算法则: 000 01101 1110(向高位进位) 例:(1101)2(1011)2?&#xff0c;解算如下: 从执行加法的过程可知&…

二进制数与十进制数的相互转换、二进制数的乘除运算、移位运算

二进制数与十进制数的转换 聊二进制数的运算前&#xff0c;我们先看看二进制数的值与十进制数的值是如何相互转换的&#xff0c; 十进制转换成二进制 将十进制数除以2&#xff0c;得到的商再除以2&#xff0c;依次类推直到商为1时为止&#xff0c;然后在旁边标出各步的余数&am…