Question

Une fois que le stimulateur de grille est utilisé pour redimensionner une grille, la ligne * ne récupérera pas l'espace lorsque les autres lignes sont effondrées.

J'ai la grille suivante dans une vue en détail avec trois lignes. Une grille de données en haut d'un séparateur au milieu et une vue de contenuControl dans la dernière ligne. Le séparateur a un bouton de fermeture dessus pour effondrer les détails. Tout cela fonctionne avec l'exception qu'une fois que l'utilisateur redimensionne le GRIDSPLITTER.

    <Grid Margin="3,0">
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Style="{StaticResource CollapsableRow}"/><!-- Splitter Here -->
        <RowDefinition Style="{StaticResource CollapsableRow}"/>
    </Grid.RowDefinitions>

Le style GridPlitter:

    <Style x:Key="gridSplitterStyle" TargetType="{x:Type GridSplitter}">
    <Setter Property="Visibility" Value="{Binding IsItemSelected, Converter={StaticResource BoolToShow},ConverterParameter='Visible|Collapsed'}" />
    <Setter Property="Width" Value="Auto"/>
    <Setter Property="Height" Value="14"/>
    <Setter Property="HorizontalAlignment" Value="Stretch"/>
    <Setter Property="Border.BorderBrush" Value="#FF6593CF" />
    <Setter Property="Border.BorderThickness" Value="0,1,0,0" />
    <Setter Property="UIElement.SnapsToDevicePixels" Value="True" />
    <Setter Property="UIElement.Focusable" Value="False" />
    <Setter Property="Control.Padding" Value="7,7,7,7" />
    <Setter Property="Cursor" Value="SizeNS" /></Style>

Comme je l'ai dit, l'effondrement fonctionne correctement, sauf si le grille-plitter est utilisé pour redimensionner. Après cela, l'espace reste.

EDIT: HB et Coderaked avaient des suggestions simples et cohérentes, donc et j'ai tenté de les implémenter sans succès dans un déclencheur de données:

<Style x:Key="CollapsableRow" TargetType="{x:Type RowDefinition}">
    <Style.Triggers>
        <DataTrigger Binding="{Binding SelectedItem, Converter={StaticResource IsNullConverter}}" Value="True">
            <Setter Property="RowDefinition.Height" Value="0"/>
        </DataTrigger>
        <DataTrigger Binding="{Binding SelectedItem, Converter={StaticResource IsNullConverter}}" Value="False">
            <Setter Property="RowDefinition.Height" Value="Auto"/>
        </DataTrigger>            
    </Style.Triggers>
</Style>   

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top