Почему мой GridSplitter не работает вообще?

Я перемещаю приложение WinForms в WPF. Все подходило до сих пор кроме отношения к моим попыткам использовать GridSplitter, который я никогда не могу, шов для создания изменяет размер чего-либо во времени выполнения.

Для проверки это не был просто мой код, я попытался скомпилировать образец GridSplitter из LearnWPF.com, и это, кажется, не работает также. Я ожидаю видеть, что стандарт изменяет размер курсора, когда я мышь по разделителю, которого не происходит, и насколько я вижу, не буду никаким другим визуальным представлением разделителя в окне также.

Что я пропускаю здесь?



    
        
            
            
        
        
            Left Hand Side
        
        
        
            Right Hand Side
        
    

10
задан Crippledsmurf 1 June 2010 в 21:20
поделиться

1 ответ

В вашем примере GridSplitter размещается в первом столбце. Я не помню правил выравнивания WPF, но думаю, что он, вероятно, размещается в левой части первого столбца. Это не совсем то, что вы хотели.

Гораздо проще заставить GridSplitter занять строку или столбец, чем пытаться разделить строку или столбец с другими элементами управления.

<Window x:Class="UI.Test"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Test" Height="300" Width="300">
<Grid>
      <Grid>
         <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="Auto"/>
         </Grid.ColumnDefinitions>
         <StackPanel Grid.Column="0" Background="#feca00">
            <TextBlock FontSize="35" Foreground="#58290A" TextWrapping="Wrap">
              Left Hand Side
            </TextBlock>
         </StackPanel>
         <GridSplitter
            Width="4"
            Grid.Column="1"
            Background="Red"
            VerticalAlignment="Stretch"
            HorizontalAlignment="Center"/>
         <Border
            Grid.Column="2"
            BorderBrush="#58290A"
            BorderThickness="5"
            CornerRadius="10">
            <TextBlock FontSize="25" Foreground="#FECA00" TextWrapping="Wrap">
              Right Hand Side
            </TextBlock>
         </Border>
      </Grid>
   </Grid>
</Window>
12
ответ дан 4 December 2019 в 01:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: