在WPF C#XAML中创建Tabitem吗?

是否可以像这样放置Tapitem:

在WPF C#XAML中创建Tabitem吗?

子级(内容)应跨越网格,而父级(TapItem)则不应这样做。

我尝试如下。

 <Grid Grid.Column="1" Grid.Row="2">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="2*" x:Name="PropertyBarWidth"/>
            <ColumnDefinition Width="10*" x:Name="DrawingAreaWidth"/>
            <ColumnDefinition Width="1*" x:Name="libraryWidth"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="25"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <TabControl Grid.ColumnSpan="3" Grid.RowSpan="2" x:Name="OpenDrawings" Background="{StaticResource B_drawingarea}" BorderThickness="0">
            <TabItem Header="Test" Grid.Column="1" Grid.RowSpan="1" Grid.Row="0" Style="{StaticResource TabItemStyle}">
                <local:UserControl1></local:UserControl1>
            </TabItem>
        </TabControl>

        <Rectangle Grid.RowSpan="2" Fill="{StaticResource B_propertybar}"/>
        <GridSplitter Grid.Row="0" Grid.RowSpan="2" Height="100" Width="20"/>
        <Rectangle Grid.RowSpan="2" Grid.Column="2" Fill="{StaticResource B_propertybar}"/>

</Grid>

这里的问题是gridsplitter不应移动tabitem的内容。但是左侧和右侧区域应与tapitem一起移动。

也许有人可以帮忙,谢谢!

kingking0112 回答:在WPF C#XAML中创建Tabitem吗?

使用Docking控件要比使用简单的Grid splitter更加可行,只需使用Xceed AvalonDock控件,不要浪费时间重新设计轮子;}:

<Window ...
    xmlns:xcad="http://schemas.xceed.com/wpf/xaml/avalondock"
    Title="MainWindow" Height="600" Width="1024">
<Grid>
    <xcad:DockingManager BorderThickness="1">
        <xcad:LayoutRoot x:Name="LayoutRoot">
            <xcad:LayoutPanel Orientation="Horizontal">
                <xcad:LayoutAnchorablePane IsMaximized="True" >
                    <xcad:LayoutAnchorable ContentId="MainTab" Title="MainTab" CanHide="False" CanClose="False"
                              AutoHideWidth="240">
                        <Grid>
                            <Border Background="LightSalmon"/>
                            <!--your main panel with the drawing usercontrol-->
                        </Grid>
                    </xcad:LayoutAnchorable>
                </xcad:LayoutAnchorablePane>
            </xcad:LayoutPanel>

            <xcad:LayoutRoot.LeftSide>
                <xcad:LayoutAnchorSide>
                    <xcad:LayoutAnchorGroup>
                        <xcad:LayoutAnchorable Title="LeftSideTools" ContentId="LeftSide">
                            <Grid>
                                <Border Background="LightSalmon"/>
                                <!--your left panel tools--> 
                            </Grid>
                        </xcad:LayoutAnchorable>
                    </xcad:LayoutAnchorGroup>
                </xcad:LayoutAnchorSide>
            </xcad:LayoutRoot.LeftSide> 
            <xcad:LayoutRoot.RightSide>
                <xcad:LayoutAnchorSide>
                    <xcad:LayoutAnchorGroup>
                        <xcad:LayoutAnchorable Title="RightSideTools" ContentId="RightSide">
                            <Grid>
                                <Border Background="LightSalmon"/>
                                <!--your right panel tools--> 
                            </Grid>
                        </xcad:LayoutAnchorable>
                    </xcad:LayoutAnchorGroup>
                </xcad:LayoutAnchorSide>
            </xcad:LayoutRoot.RightSide>
        </xcad:LayoutRoot>
    </xcad:DockingManager>
</Grid>

Here是软件包的核心。

本文链接:https://www.f2er.com/3121541.html

大家都在问