Я пытаюсь скрыть столбец в Grid
с GridSplitter
при нажатии кнопки (кнопка устанавливает видимость всех элементов в третьем столбце для свертывания) , Если я не перемещаю GridSplitter
, он работает правильно, а третий столбец исчезает, но если я перемещаю GridSplitter
, содержимое исчезает, а остальные столбцы не изменяются, чтобы заполнить пустое пространство.WPF - Столбцы не скрываются должным образом при перемещении GridSplitter
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="25"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition x:Name="a" Width="*"/>
<ColumnDefinition x:Name="b" Width="3"/>
<ColumnDefinition x:Name="c" Width="Auto" MaxWidth="600"/>
</Grid.ColumnDefinitions>
<Border Grid.Column="0" Grid.Row="0" HorizontalAlignment="Stretch" Background="Green">
<Image Source="te/Dante.png" Height="Auto" Margin="0,128,2,71"/>
</Border>
<Button Grid.Column="0" Grid.Row="0" Width="30" Height="30" Margin="0,10,10,0" HorizontalAlignment="Right" VerticalAlignment="Top" Click="Button_Click"></Button>
<GridSplitter Width="5" Grid.Column="1" Grid.Row="0" Grid.RowSpan="2" ResizeDirection="Columns" HorizontalAlignment="Left" Background="White" BorderBrush="Black" BorderThickness="1,0" ResizeBehavior="PreviousAndCurrent"/>
<WrapPanel x:Name="wpC" Grid.Column="2" Grid.Row="0" Grid.RowSpan="2" MinWidth="300" HorizontalAlignment="Stretch" Background="Aqua" Panel.ZIndex="-1"></WrapPanel>
</Grid>
Вот пример моей проблемы (GIF):
Как я могу решить эту проблему? Возможно соблюдение шаблона MVVM.
Покажите, как именно вы * шкура * что-то? Использование 'x: Name' уже не является чистым MVVM (я предполагаю, что вы устанавливаете ширину определения столбца в коде позади). Кстати, вы можете использовать [ScreenToGif] (https://screentogif.codeplex.com/) и фиксировать несколько кадров для демонстрации проблемы, см. [Мой вопрос] (http://stackoverflow.com/q/36915180/1997232). – Sinatr
Я добавил gif, до сих пор я сделал решение, используя код позади. я хотел бы знать, есть ли способ решить эту проблему, не используя код за – Jacopo