WPF DataGrid barre de Défilement
Je suis en train de faire un WPF DataGrid afficher les barres de défilement si nécessaire.
Vous pouvez le voir la base de code XAML de mon contrôle de l'utilisateur ci-dessous:
<Grid x:Name="Data" Grid.Column="0" VerticalAlignment="Stretch" Height="Auto" HorizontalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Expander Header="Route Setup" Grid.Row="0" VerticalAlignment="Top" Background="White">
</Expander>
<Expander Header="Select Locations" Grid.Row="1" VerticalAlignment="Top" Background="White">
</Expander>
<DataGrid Grid.Row="2" ItemsSource="{Binding Locations, Mode=TwoWay}" Height="Auto" AutoGenerateColumns="False" ScrollViewer.CanContentScroll="True"
ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollBarVisibility="Auto">
</DataGrid>
Ce n'est pas le travail, je ne vois pas de scroolbars lorsque le contrôle DataGrid pousse au-delà de l'espace disponible. J'ai déjà essayé d'utiliser un scrollview autour de mon DataGrid mais ça ne change rien.
Mise à jour
Il peut être important de savoir que le contrôle usercontrol est chargé dans le LeftRegion
d'une coquille qui a le balisage suivant:
<Grid x:Name="LayoutRoot">
<Grid.ColumnDefinitions >
<ColumnDefinition Width="*" MinWidth="400" MaxWidth="600"/>
<ColumnDefinition Width="9" />
<ColumnDefinition Width="*" MinWidth="300" />
</Grid.ColumnDefinitions>
<GridSplitter x:Name="MainSplitter" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" Grid.Column="1"
Margin="0" Width="9" Style="{DynamicResource gridSplitterVerticalStyle}"/>
<ItemsControl Name="LeftRegion" Grid.Column="0" Background="Azure" Height="Auto" VerticalAlignment="Stretch" VerticalContentAlignment="Stretch" cal:RegionManager.RegionName="LeftRegion">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Grid/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
<ItemsControl Name="RightRegion" Height="Auto" Background="DarkGreen" VerticalAlignment="Stretch" VerticalContentAlignment="Stretch" Grid.Column="2" cal:RegionManager.RegionName="RightRegion">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Grid/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</Grid>
En Ce Qui Concerne Meilleur
Jay
OriginalL'auteur Jay | 2011-07-16
Vous devez vous connecter pour publier un commentaire.
Dans votre grille nommé "Data", supprimer la
Height="Auto"
à partir de la troisièmeRowDefinition
. Au moins une ligne doit avoir le "*" hauteur (qui est la valeur par défaut) pour prendre le reste de l'espace disponible.OriginalL'auteur Mart
Résolu. Je devais enlever
Height="Auto"
de la thrirdRowDefinition
.OriginalL'auteur Jay