Почему не отображается мой GridSplitter? - PullRequest
4 голосов
/ 01 августа 2011

У меня есть простой Window, который выглядит следующим образом:

<Window x:Class="StackOverflowExample.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="3*" />
            <RowDefinition Height="2*" />
        </Grid.RowDefinitions>

        <Label Content="Foo" Margin="5" />
        <Label Grid.Row="1" Content="Bar" Margin="5" />
        <GridSplitter Grid.Row="1" Background="Black" VerticalAlignment="Top" Height="5" />
    </Grid>
</Window>

// The code-behind is empty, except for "InitializeComponent()".

Однако, когда я запускаю приложение, GridSplitter не отображается. Я также не вижу GridSplitter во время разработки.

  • Я убедился, что GridSplitter находится в правильной строке, и установил VerticalAlignment на Top
  • Я указал явный цвет фона, чтобы убедиться, что GridSplitter не смешивается.
  • Я убедился, что GridSplitter - последний элемент в Grid, поэтому я не должен сталкиваться с проблемами ZIndex.
  • На всякий случай я добавил поля к меткам, чтобы они не закрывали сетку (хотя в этом случае это должно измениться).

Что я делаю не так?

1 Ответ

6 голосов
/ 02 августа 2011

Вам нужно установить HorizontalAlignment="Stretch":

<GridSplitter Grid.Row="1" Background="Black" VerticalAlignment="Top" HorizontalAlignment="Stretch" Height="5" />
...