从零开始学习AvalonDock(1) - skystalker - 博客园
Excerpt 由于个人需要,时不时得开发上位机程序,之前用过WIN API和C# WIN FORM,但都是开发一两个程序就不用了。这次又需要弄一个上位机,为了不花大量精力来弄界面,经过两天业余时间的搜索资料,决定选用WPF。这个程序需要有类似VS2008和KEIL等软件的DOCKING PANEL功能,选用了开源
由于个人需要,时不时得开发上位机程序,之前用过WIN API和C# WIN FORM,但都是开发一两个程序就不用了。这次又需要弄一个上位机,为了不花大量精力来弄界面,经过两天业余时间的搜索资料,决定选用WPF。
这个程序需要有类似VS2008和KEIL等软件的DOCKING PANEL功能,选用了开源的控件AVALONDOCK。
本人非专职上位机开发人员,只求用最快的速度达到需求,只把WPF的概念大约了解了一下,不打算单独研究XAML的语法。先建立一个DEMO感受一下,获得一些成就感是明智的。
新建一个空的工程,在references中添加avalondock的DLL,然后把XMAL文件按如下修改
View Code
然后增加
View Code
也可以不要上面那部分代码,后台代码修改成如下,职业习惯,我更喜欢在后台生成窗口。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 <span>using</span><span> System; </span><span>using</span><span> System.Collections.Generic; </span><span>using</span><span> System.Linq; </span><span>using</span><span> System.Text; </span><span>using</span><span> System.Windows; </span><span>using</span><span> System.Windows.Controls; </span><span>using</span><span> System.Windows.Data; </span><span>using</span><span> System.Windows.Documents; </span><span>using</span><span> System.Windows.Input; </span><span>using</span><span> System.Windows.Media; </span><span>using</span><span> System.Windows.Media.Imaging; </span><span>using</span><span> System.Windows.Navigation; </span><span>using</span><span> System.Windows.Shapes; </span><span>using</span><span> AvalonDock; </span><span>namespace</span><span> WpfApplication4 { </span><span>///</span> <span><summary></span> <span>///</span><span> Interaction logic for MainWindow.xaml </span><span>///</span> <span></summary></span> <span>public</span> <span>partial</span> <span>class</span><span> MainWindow : Window { </span><span>public</span><span> MainWindow() { InitializeComponent(); </span><span>var</span> resPanel = <span>new</span> ResizingPanel() { Orientation =<span> Orientation.Horizontal }; </span><span>var</span> dockPane = <span>new</span><span> DockablePane() { }; </span><span>var</span> documentPane = <span>new</span><span> DocumentPane() { }; dockPane.Items.Add(</span><span>new</span><span> DockableContent() { Name </span>= <span>"</span><span>classesContent</span><span>"</span><span>, Title </span>= <span>"</span><span>Classes</span><span>"</span><span> }); documentPane.Items.Add(</span><span>new</span><span> DocumentContent() { Title </span>= <span>"</span><span>My Document!</span><span>"</span><span> }); resPanel.Children.Add(dockPane); resPanel.Children.Add(documentPane); dockManager.Content </span>=<span> resPanel; } } }</span>
运行一下就会出来一个具有浮动和自动停靠等功能的DEMO程序。
以上程序来源:http://avalondock.codeplex.com/wikipage?title=GettingStarted&referringTitle=Documentation