Изменение размера частей окна во время выполнения - PullRequest
1 голос
/ 12 марта 2012

Я хочу, чтобы главное окно было разделено на три части, как показано на рисунке. должна быть линия (красная) или левая граница прямоугольника с номером 2, которая при перетаскивании мышью изменяет размеры как прямоугольника 1, так и 2. Это похоже на поведение списка воспроизведения в проигрывателе Windows Media. есть идеи как это получить? Кроме того, было бы замечательно, если бы кто-то предложил решение, как этот плейлист был свернут, если красная линия перетаскивается вправо.

window in three parts

Ответы [ 2 ]

3 голосов
/ 12 марта 2012

Определите <Grid> со столбцами и строками следующим образом:

<Grid>
    <Grid.RowDefinitions>
    <RowDefinition Height="300"/>
    <RowDefinition Height="*"/>
    </Grid.RowDefinitions>

    <Grid.ColumnDefinitions>
    <ColumnDefinition Width="600"/>
    <ColumnDefinition Width="20"/>
    <ColumnDefinition Width="300"/>
    </Grid.ColumnDefinitions>
    ...

, а затем - gridsplitter (все еще внутри сетки):

    <GridSplitter Grid.Row="0" Grid.Column="1" ResizeDirection="Columns" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>

Обратите внимание, что потребуется gridsplitterэто собственный столбец.

2 голосов
/ 12 марта 2012

Это GridSplitter , вот как его использовать:

<GridSplitter Grid.Row="1" 
              Height="5" 
              Width="Auto" 
              HorizontalAlignment="Stretch" 
              VerticalAlignment="Stretch" 
              Background="Gray" 
              ResizeDirection="Rows" />

Вам необходимо присвоить Row или Column ему из вашего Grid и указать его ResizeDirection. Этот горизонтальный, но у вас есть идея вертикального.

НТН,

Бабы.

...