J'essaie de créer un expandeur avec un bouton bascule/en-tête en tant que barre fine vers la gauche, mais lorsqu'il est déplié, il remplit le reste de la fenêtre, même sur du matériel déjà là.WPF: Comment créer une fenêtre de débordement et de remplissage Expander
Je ne suis pas vraiment sûr de la meilleure façon de le faire. Je pensais peut-être à une grille avec 2 colonnes. Premier aurait l'expandeur, deuxième l'autre matériel. Ensuite, j'aurais un déclencheur qui mettrait la largeur de la deuxième colonne à zéro lorsque le Expander IsExpanded.
Je ne suis pas vraiment sûr de savoir comment le faire fonctionner ou même comment le faire correctement.
Voici quelques exemples de code:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Name="SecondColumn" Width="*" />
</Grid.ColumnDefinitions>
<Expander ExpandDirection="Right" IsExpanded="True">
<Expander.Resources>
<Style TargetType="Expander">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Expander" >
<ControlTemplate.Triggers>
<Trigger Property="IsExpanded" Value="True" >
<Setter TargetName="SecondColumn" Property="ColumnDefinition.Width" Value="0" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Expander.Resources>
<ListBox >
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
</Expander>
<TabControl Grid.Column="1" />
</Grid>
Je wan't la zone de liste à voir lorsqu'il est étendu, sinon le TabControl
Toutes les idées?
Merci de m'avoir signalé cela, mais je pense que je ne l'utiliserais qu'en dernier recours, c'est comme si je me sentais comme un hack et je crains que cela ne se brise facilement. –
L'autre chose que vous pouvez faire est de passer à un contrôle personnalisé faux expander composé d'un contrôle ToggleButton et un contrôle Popup. De cette façon, le popup sera garanti pour afficher sur tout ce qui apparaît là. Cependant, vous devrez simplement créer le contrôle vous-même. –
Je vais vérifier ça. Et j'ai aussi essayé l'autre solution et ça pourrait aller, sauf que je m'inquiète de la taille et du redimensionnement de la fenêtre principale. Je suppose que je pourrais lier ensemble pour résoudre ce problème. –