使用 RadDocking 控件模拟 VS 布局
来源:互联网 发布:python 当前毫秒数 编辑:程序博客网 时间:2024/06/05 20:25
(注:此文章的技术实现基于Telerik RadControl for WPF 2010 Q2 0609)
RadDocking允许我们定义活动面板的布局,它的子项中包含一个DocumentHost,这个可以模拟VS中间部分的功能。
实现界面如图所示:
感兴趣的朋友还要参考RadControl帮助文档中关于RadDocking的说明。这里列出需要注意的几点:
1. RadDocking.DocumentHost属性是个可读写属性,虽然在IDE的提示中显示是个只读属性。这允许我们通过代码设置一个DocumentHost对象。
2. 下面的PreviewShowCompass事件处理函数可以限制RadPane只允许Dock在界面的周边和浮动,不允许Dock在中心区域(中心区域是DocumentHost),同时限制RadDocumentPane不能Dock在中心区域之外。注意:该事件属于RadDocking。
private void docking_PreviewShowCompass(object sender, Telerik.Windows.Controls.Docking.PreviewShowCompassEventArgs e)
{
e.Compass.IsLeftIndicatorVisible = false;
e.Compass.IsRightIndicatorVisible = false;
e.Compass.IsTopIndicatorVisible = false;
e.Compass.IsBottomIndicatorVisible = false;
e.Compass.IsCenterIndicatorVisible = false;
RadDocumentPane rdp = (e.DraggedSplitContainer.Items[0] as RadPaneGroup).Items[0] as RadDocumentPane;
if (rdp == null)
{
if (e.TargetGroup != null)
{
if (e.TargetGroup.IsInDocumentHost == false)
{
e.Compass.IsLeftIndicatorVisible = true;
e.Compass.IsRightIndicatorVisible = true;
e.Compass.IsTopIndicatorVisible = true;
e.Compass.IsBottomIndicatorVisible = true;
e.Compass.IsCenterIndicatorVisible = true;
}
}
}
else
{
if (e.TargetGroup != null)
{
if (e.TargetGroup.IsInDocumentHost)
{
e.Compass.IsLeftIndicatorVisible = true;
e.Compass.IsRightIndicatorVisible = true;
e.Compass.IsTopIndicatorVisible = true;
e.Compass.IsBottomIndicatorVisible = true;
e.Compass.IsCenterIndicatorVisible = true;
}
}
}
}
3. 当中心区域的Panel全部关闭后,此时拖动周边的Panel是可以Dock在中心区域的。如果不希望出现这种效果,只需要设置每个周边的RadPane.CanDockInDocumentHost属性为false即可。
4. 在设置面板初始大小时要注意,浮动面板使用FloatingLocationProperty和FloatingSizeProperty两个依赖属性,而非浮动面板使用InitialSizeProperty依赖属性。
- 使用 RadDocking 控件模拟 VS 布局
- [Telerik]RadDocking第01篇 初步介绍RadDocking布局控件
- [Telerik]RadDocking第02篇 保存和加载RadDocking的布局
- VS C++ 控件使用
- vs中使用DataGrid控件
- 【VS开发】CListCtrl控件使用
- VS控件Chart的使用
- xml布局使用自定义控件
- java控件使用与布局
- 在vs.net 中使用用户控件...
- 在VS 2005中使用TREEVIEW控件
- 在VS 2005中使用TREEVIEW控件
- VS 2005 中SerialPort控件的使用
- vs中ajax控件使用问题
- 关于VS图形化控件使用
- vs中使用my97日历控件
- VS中如何使用NI控件画图
- VS toolTip1控件的使用1
- jbpm4 foreach 实现动态分支
- JAVA匿名内部类
- Java JPanel面板更新、重画
- Windows SDK笔记(经典--一定要看)
- HLSL高级顶点着色语言基础(1)
- 使用 RadDocking 控件模拟 VS 布局
- oracle 10 TNSLSNR.exe 占用8080端口修改方法
- Flex 类型转换
- jboss配置数据源
- VC++非MFC项目中如何使用TRACE宏
- Linux下MYSQL配置文件my.cnf中文解释
- 何为链表?
- Linux正则表达式
- 如何让自己的博客被搜索引擎收录