由于想写个布局好点的类似VS的布局,找到了AVAlonDock,下了个2.0的玩不来,半天在网上找了个资料看来半天,照着一行行写的。。。。不过具体的每个类和使用方法还没进一不研究,先存储起来先。。嘿嘿
<Window x:Class="TestAvalon.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:avalondock="http://schemas.xceed.com/wpf/xaml/avalondock"
xmlns:aero="clr-namespace:Xceed.Wpf.AvalonDock.Themes;assembly=Xceed.Wpf.AvalonDock.Themes.Aero"
xmlns:expression="clr-namespace:Xceed.Wpf.AvalonDock.Themes;assembly=Xceed.Wpf.AvalonDock.Themes.Expression"
xmlns:vs2010="clr-namespace:Xceed.Wpf.AvalonDock.Themes;assembly=Xceed.Wpf.AvalonDock.Themes.VS2010"
xmlns:colorpick="clr-namespace:ColorPick;assembly=ColorPick"
xmlns:TestAdocment="clr-namespace:TestAvalondocment"
Title="MainWindow"
Height="350"
Width="525">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="28" />
<RowDefinition />
</Grid.RowDefinitions>
<ToolBar Height="28"
VerticalAlignment="Top">
<Button Content="New"
Click="New_click" />
<Button Content="Open File..."
Click="OpenFile_Click" />
</ToolBar>
<avalondock:DockingManager Grid.Row="1"
x:Name="DockManger">
<!--皮肤-->
<avalondock:DockingManager.Theme>
<avalondock:VS2010Theme>
</avalondock:VS2010Theme>
</avalondock:DockingManager.Theme>
<!--布局-->
<avalondock:LayoutRoot>
<avalondock:LayoutRoot.LeftSide>
<avalondock:LayoutAnchorSide>
<avalondock:LayoutAnchorGroup>
<!--布局对象可停靠组-->
<avalondock:LayoutAnchorable Title="左窗口1"
AutoHideWidth="50"
ContentId="left1">
<!--<TestAdocment:Docment1>
</TestAdocment:Docment1>-->
<colorpick:CoclorPick>
</colorpick:CoclorPick>
<!--<TextBox Width="80"
SelectionChanged="TextBox_SelectionChanged">
</TextBox>-->
<!--<Grid Height="300" Width="400" Background="LightGreen">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Button Grid.Row="0" Content="btn1"/>
<Button Grid.Row="1"
Content="btn2"/>
<Button Grid.Row="2"
Content="btn3">
</Button>
</Grid>-->
</avalondock:LayoutAnchorable>
<avalondock:LayoutAnchorable Title="left2"
AutoHideWidth="20"
ContentId="left2">
<TextBox Width="80"></TextBox>
</avalondock:LayoutAnchorable>
</avalondock:LayoutAnchorGroup>
</avalondock:LayoutAnchorSide>
</avalondock:LayoutRoot.LeftSide>
<avalondock:LayoutPanel>
<avalondock:LayoutAnchorablePaneGroup DockWidth="100">
<avalondock:LayoutAnchorablePane>
<avalondock:LayoutAnchorable Title="text1"
ContentId="text1">
<TextBox TextWrapping="Wrap"
AcceptsReturn="True"></TextBox>
</avalondock:LayoutAnchorable>
<avalondock:LayoutAnchorable Title="text2"
ContentId="text2">
<TextBox TextWrapping="Wrap"
AcceptsReturn="True"></TextBox>
</avalondock:LayoutAnchorable>
</avalondock:LayoutAnchorablePane>
</avalondock:LayoutAnchorablePaneGroup>
<avalondock:LayoutDocumentPane>
<avalondock:LayoutDocument Title="复用器"
ContentId="doc1">
<TextBox AcceptsReturn="True"
TextWrapping="Wrap"></TextBox>
</avalondock:LayoutDocument>
<avalondock:LayoutAnchorable Title="频谱仪"
ContentId="doc1">
<TextBox AcceptsReturn="True"
TextWrapping="Wrap"></TextBox>
</avalondock:LayoutAnchorable>
</avalondock:LayoutDocumentPane>
</avalondock:LayoutPanel>
</avalondock:LayoutRoot>
</avalondock:DockingManager>
</Grid>
</Window>
到现在搞的不是很明白,对于Document是直接放入一个自定义的控件类,还是用Grid自己去画,两个都能显示,但还没进一步研究代码,下来研究研究,其实很希望能够嵌入xaml文件那样就好了。。不过会接下来继续研究,测试的。。。