Actuellement, j'ai un bouton bascule qui est lié à une propriété booléenne (DualLayout) dans mon code derrière. Lorsque le booléen est défini sur Vrai, je veux que ma deuxième ligne de ma grille (et mailleur de grille) se cache et que la première ligne prenne toute l'espace de la grille. Une fois que le booléen a la valeur False, je veux que le séparateur de grille et la ligne du bas apparaissent.Comment afficher/masquer une ligne de grille et un séparateur de grille en fonction d'un bouton bascule?
Voici un extrait de mon XAML
<ToggleButton Name="toggleLayout" Margin="66,1,0,1" Width="25" HorizontalAlignment="Left" IsChecked="{Binding DualLayout}" Checked="toggleLayout_Clicked" Unchecked="toggleLayout_Clicked">
<ToggleButton.Style>
<Style TargetType="{x:Type ToggleButton}">
<Style.Triggers>
<Trigger Property="IsChecked" Value="true">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate DataType="{x:Type ToggleButton}">
<Image Source="Images/PlayHS.png"/>
</DataTemplate>
</Setter.Value>
</Setter>
<Setter Property="ToolTip" Value="Receive and Transmit Windows Split."/>
</Trigger>
<Trigger Property="IsChecked" Value="false">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate DataType="{x:Type ToggleButton}">
<Image Source="Images/PauseHS.png"/>
</DataTemplate>
</Setter.Value>
</Setter>
<Setter Property="ToolTip" Value="Receive and Transmit Windows Combined."/>
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>
<Grid x:Name="transmissionsGrid" Margin="0,28,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*" MinHeight="100" />
</Grid.RowDefinitions>
<transmission:TransmissionsControl x:Name="transmissionsReceive" TransmissionType="Receive" Margin="0,0,0,5" />
<GridSplitter Name="gridSplitter1" Grid.Row="0" Background="White" Cursor="SizeNS" Height="4" HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Foreground="Firebrick" />
<transmission:TransmissionsControl x:Name="transmissionsTransmit" TransmissionType="Transmit" Grid.Row="1" />
</Grid>
Masquer les contrôles (GridSplitter et Bottom Control), mais le contrôle supérieur ne remplit plus tout l'espace. Il reste à la même hauteur – Travyguy9
Vous devez définir l'alignement vertical de votre grille sur Stretch. En ce moment, la grille ne sait pas remplir tout l'espace disponible. Notez que vous pouvez également définir HorizontalAlignment Stretch si vous souhaitez qu'il remplisse l'espace horizontal. Je suppose que vous avez également apporté la modification aux RowDefinitions que j'ai spécifiées ci-dessus. Espérons que cela aide! –
Désolé, cela n'a pas aidé. Il agit toujours de la même manière. Ai-je manqué quelque chose? Voici ce que j'ai obtenu (moins le bouton bascule). Il peut être difficile à lire à travers ce ... désolé J'ai également eu besoin de le casser afin que je puisse le coller .. – Travyguy9