2009-06-26 1 views
0

J'ai un DataGrid incorporé dans la première colonne d'une grille. Je veux que la colonne de la grille à la taille automatique au contenu, mais quand je fais cela et le DataGrid devient trop large (lorsque les colonnes sont ajoutées par l'utilisateur) le DataGrid est coupé par la colonne contenant. Essentiellement, je dois conserver le comportement de défilement du DataGrid, mais le DataGrid doit rétrécir au contenu et ne jamais être coupé.Comment obtenir une colonne Grille à la taille automatique au contenu, mais ne pas couper le contenu si elle devient trop grande?

<UserControl 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"> 
<Border x:Name="LayoutRoot" Background="White"> 
    <Grid HorizontalAlignment="Stretch"> 
     <Grid.RowDefinitions> 
      <RowDefinition 
       Height="Auto" /> 
      <RowDefinition 
       Height="Auto" /> 
     </Grid.RowDefinitions> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition 
       Width="Auto" /> 
     </Grid.ColumnDefinitions> 
     <Border><!--Toolbar content goes here--></Border> 
     <data:DataGrid 
      MaxHeight="350" 
      Grid.Row="1" /> 
    </Grid> 
</Border> 

Répondre

1

Avez-vous essayé quelque chose comme:

<ColumnDefinition Width="Auto" MinWidth="80" MaxWidth="200"/> 
+0

Je ne veux pas définir une largeur maximale que je voudrais la grille pour obtenir le plus large que son conteneur (lorsque le navigateur la fenêtre est redimensionnée). –

Questions connexes