Я создаю новое приложение WPF, в котором главное окно имеет сетку внутри панели док-станции. Сетка будет иметь 3 столбца и одну строку, из которых средний столбец выделен для GridSplitter. Два других столбца имеют панель закрепления, в которой будет любое содержимое (которое будет создано во время выполнения). Моя проблема в том, что, несмотря на несколько подходов, чтобы сделать GridSplitter видимым, я не добился успеха.
Я даже следовал советам, приведенным на этой странице с инструкциями в документации Microsoft, но безрезультатно:
https://docs.microsoft.com/en-us/dotnet/framework/wpf/controls/how-to-make-sure-that-a-gridsplitter-is-visible
Вот мой код XAML:
<Window
...
Height="600"
Width="650">
<DockPanel LastChildFill="True">
<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="10"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<DockPanel Name="LeftDockPanel" Grid.Column="0" LastChildFill="True" Width="350" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="LightCyan">
</DockPanel>
<DockPanel Name="RightDockPanel" Grid.Column="2" LastChildFill="True" Width="300" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="Azure">
</DockPanel>
<GridSplitter Width="5" Background="Red" Grid.Column="1" BorderBrush="Red"
VerticalAlignment="Stretch" HorizontalAlignment="Center"
Margin="3,0,3,0" ResizeBehavior="PreviousAndNext" Panel.ZIndex="1"/>
</Grid>
</DockPanel>
</Window>
Я попытался сделать следующее с моим кодом:
Назначил ZIndex = 1 для разделителя сетки, когда он разделяет столбец с LeftDockPanel
Явно выделил столбец для разделителя, присвоив ему ширину
Гарантировано, что GridSplitter является последним элементом управления, добавленным в сетку
Комбинация 2, 3 и 4 - как вы видите в коде.
При наведении курсора мыши на соответствующую область курсор изменяется, чтобы отобразить gridSplitter, но он никогда не виден. Даже действия по изменению размера работают, как и ожидалось.
Что я упускаю или делаю неправильно, что GridSplitter не виден?