状态栏中的网格拆分器

Gridsplitter in statusbar

我正在尝试将网格拆分器放在状态栏中。我已经覆盖了项目面板模板以在状态栏中放置一个网格。我希望能够来回滑动网格列。不幸的是,我无法让网格分离器出现。我正在使用下面的 xaml 代码。感谢您提前抽出时间。

<StatusBar>
            <StatusBar.ItemsPanel>
                <ItemsPanelTemplate>
                    <Grid IsItemsHost="True">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto" />
                            <ColumnDefinition Width="10" />
                            <ColumnDefinition Width="Auto" />
                            <ColumnDefinition Width="10" />
                            <ColumnDefinition Width="Auto" />
                            <ColumnDefinition Width="10" />
                            <ColumnDefinition Width="Auto" />
                        </Grid.ColumnDefinitions>
                    </Grid>
                </ItemsPanelTemplate>
            </StatusBar.ItemsPanel>
            <StatusBarItem Grid.Column="0">
                <Label Content="blah" />
            </StatusBarItem>
            <StatusBarItem Grid.Column="1">
                <GridSplitter Width="10" HorizontalAlignment="Stretch" />
            </StatusBarItem>
            <StatusBarItem Grid.Column="2">
                <Label Content="blah1" />
            </StatusBarItem>
            <StatusBarItem Grid.Column="3">
                <GridSplitter Width="10" HorizontalAlignment="Stretch" />
            </StatusBarItem>
            <StatusBarItem Grid.Column="4">
                <Label Content="blah2" />
            </StatusBarItem>
            <StatusBarItem Grid.Column="5">
                <GridSplitter Width="10" HorizontalAlignment="Stretch" />
            </StatusBarItem>
            <StatusBarItem Grid.Column="6">
                <Label Content="blah3" />
            </StatusBarItem>
        </StatusBar>

您的 GridSplitter 不是 Grid 的直系后代。它被包裹在 StatusBarItem 中。因此,这在该配置中不起作用。

您可以只使用 Grid 并设置背景和边框的样式,使其看起来像 StatusBarStatusBar 是一个看起来相对简单的控件,因此制作看起来像它的东西应该没什么大不了的。