J'ai le XAML montré ci-dessous (par exemple). Si vous faites glisser le séparateur de grille aussi loin que vous le faites vers la gauche, et que vous continuez à faire glisser la souris, la taille de la colonne de droite augmentera en dehors des limites de la fenêtre - évidemment pas ce que je veux.Comment puis-je empêcher le diviseur de grille de redimensionner une colonne en dehors des limites de la fenêtre?
Le problème est que je ne peux pas définir un MaxWidth dur sur la colonne de droite parce que l'utilisateur peut redimensionner la fenêtre, augmentant ainsi l'espace disponible pour cette colonne. Jusqu'à présent, je pense que j'ai besoin de lier le MaxWidth de la colonne de droite à quelque chose comme la zone cliente de la fenêtre moins la largeur de la largeur de gauche plus la largeur de la colonne de séparation. Mais j'aimerais éviter cela si possible. Pensées?
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="450"
Height="300">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" MinWidth="100" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="200" MinWidth="200" />
</Grid.ColumnDefinitions>
<Grid Grid.Column="0">
<Button>Monkey</Button>
</Grid>
<GridSplitter Grid.Column="1" Width="7" ResizeBehavior="PreviousAndNext" />
<Grid Grid.Column="2" Margin="4">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<GroupBox Grid.Row="0" Header="Spaghetti" Margin="0, 0, 0, 5">
<ComboBox HorizontalAlignment="Stretch" VerticalAlignment="Stretch">Noodles</ComboBox>
</GroupBox>
<Expander Grid.Row="1" Header="Batman" IsExpanded="True" Margin="0, 0, 0, 5">
<Button HorizontalAlignment="Stretch" VerticalAlignment="Stretch">Batman!</Button>
</Expander>
</Grid>
</Grid>
</Window>
Je me suis finalement mis au travail - quand je serai au travail demain, je vais vérifier et vous dire ce que j'ai fait. (C'est probablement un hack horrible, je ne m'en souviens pas :)) –