WPF实现选项卡效果(2)——动态添加AvalonDock选项卡
原文: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);
        }
  运行程序,效果如下: 
   
  我们实现了选项卡的动态添加。
WPF实现选项卡效果(2)——动态添加AvalonDock选项卡的更多相关文章
- C#-将控件动态添加到选项卡页tablepage
		
tabPage1.Controls.Add(new Button()); 实例: Button cp = new Button(); cp.text="test";cp.Click ...
 - JAVAEE——BOS物流项目02:学习计划、动态添加选项卡、ztree、项目底层代码构建
		
1 学习计划 1.jQuery easyUI中动态添加选项卡 2.jquery ztree插件使用 n 下载ztree n 基于标准json数据构造ztree n 基于简单json数据构造ztree( ...
 - WPF实现选项卡效果(3)——自定义动态添加的AvalonDock选项卡内容
		
原文:WPF实现选项卡效果(3)--自定义动态添加的AvalonDock选项卡内容 简介 在前面一篇文章里面,我们实现了AvalonDock选项卡的动态添加,但是对于选项卡里面的内容,我们并没有实现任 ...
 - WPF实现选项卡效果(1)——使用AvalonDock
		
原文:WPF实现选项卡效果(1)--使用AvalonDock 简介 公司最近一个项目,软件采用WPF开发,需要实现类似于VS的选项卡(或者是浏览器的选项卡)效果.搜寻诸多资料后,发现很多同仁推荐Ava ...
 - WPF:理解ContentControl——动态添加控件和查找控件
		
WPF:理解ContentControl--动态添加控件和查找控件 我认为WPF的核心改变之一就是控件模型发生了重要的变化,大的方面说,现在窗口中的控件(大部分)都没有独立的Hwnd了.而且控件可以通 ...
 - WPF GridView动态添加项并读取数据
		
假设数据库有如下表, 首先我们创建一个WPF工程,界面如下 <Window x:Class="WpfApplication2.MainWindow" xmlns=" ...
 - WPF 动态添加控件以及样式字典的引用(Style introduction)
		
原文:WPF 动态添加控件以及样式字典的引用(Style introduction) 我们想要达到的结果是,绑定多个Checkbox然后我们还可以获取它是否被选中,其实很简单,我们只要找到那几个关键的 ...
 - 在WPF中使用PlaneProjection模拟动态3D效果
		
原文:在WPF中使用PlaneProjection模拟动态3D效果 虽然在WPF中也集成了3D呈现的功能,在简单的3D应用中,有时候并不需要真实光影的3D场景.毕竟使用3D引擎会消耗很多资源,有时候使 ...
 - 通过jquery来实现文本框和下拉框动态添加效果,能根据自己的需求来自定义最多允许添加数量,实用的jquery动态添加文本框特效
		
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
 
随机推荐
- Bootstrapbutton
			
Bootstrap 提供了一些选项来定义button的样式,详细例如以下表所看到的: 下面样式可用于<a>, <button>, 或 <input> 元素上: 类 ...
 - PHP CodeBase: 判断用户是否手机访问
			
随着移动设备的普及,网站也会迎来越来越多移动设备的访问.用适应PC的页面,很多时候对手机用户不友好,那么有些时候,我们需要判断用户是否用手机访问,如果是手机的话,就跳转到指定的手机友好页面.这里就介绍 ...
 - js进阶 11-2 jquery属性如何操作
			
js进阶 11-2 jquery属性如何操作 一.总结 一句话总结:jquery中的属性用attr方法表示.jquery中都是方法. 1.jquery中的属性的增删改查操作? 只需要两个方法, at ...
 - Redis的增删改查、持久化你会了吗
			
原文:Redis的增删改查.持久化你会了吗 Redis是用C语言实现的,一般来说C语言实现的程序"距离"操作系统更近,执行速度相对会更快. Redis使用了单线程架构,预防了多线程 ...
 - Xcode7 不能使用http网络请求问题解决
			
最近使用Xcode 7.0 写代码,发送网路请求提示: App Transport Security has blocked a cleartext HTTP (http://) resource ...
 - shell脚本一键安装mysql5.7.x(免安装版)
			
使用脚本一键安装mysql5.7.x,初始化数据库,启动数据库---- mysql版本:源码mysql5.7.10 linux版本:centos6.5 x86_64 #!/bin/bash GROUP ...
 - springboot 使用传统方式部署
			
spring boot默认创建出来的应用程序是内嵌web容器的,直接运行jar文件就可以的,但通常我们也需要将程序部署到tomcat中,这需要做如下改进: 1.pom.xml修改 打包方式需要修改成w ...
 - 【record】11.7..11.13
			
好少
 - 【record】10.17..10.23
			
.
 - 在 Oracle 中新建 SDE 用户
			
--1.创建用户(SDE)和密码(SDE) CREATE USER SDE IDENTIFIED BY SDE --2.创建表空间(SDE) CREATE TABLESPACE SDE DATAFIL ...