2017-08-10 3 views
0

Dans mon application WPF, j'ai un ListBox avec une grille et une des colonnes de la grille contient des noms et ces noms peuvent être longs. Est-il possible d'avoir une barre de défilement ou Scroll Viewer limitée à juste Colonne 1 (comme il a des noms et ils pourraient varier en largeur) et la boîte de liste de repos aurait un scrollviewer commun. Peut-il avoir deux ScrollViewer un pour ListBox entière et un dédié à une colonne 1 qui a des noms. Est-ce possible?Listbox Colonne pour avoir un scrollviewer

Mon code XAML ci-dessous

<ListBox BorderThickness="0" x:Name="newListBox"> 
     <ListBox.ItemTemplate> 
      <DataTemplate> 
       <Grid Margin="0,2"> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="30" /> 
         <ColumnDefinition Width="*" /> 
         <ColumnDefinition Width="130" /> 
        </Grid.ColumnDefinitions> 
         <TextBlock Text="{Binding Count}" 
         HorizontalAlignment="Center"/> 
         <TextBlock Grid.Column="1" Text="{Binding 
          FileName}" />       
        <ProgressBar Grid.Column="2" Minimum="0" Maximum="100" 
        Foreground="DarkGreen" Value="{Binding Status}" /> 
       </Grid> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox> 

Répondre

0

Oui cela pourrait être fait ..try faire cela .. Je l'ai modifié votre code un peu

 <ListBox BorderThickness="0" x:Name="newListBox"> 
     <ListBox.ItemTemplate> 
      <DataTemplate> 
       <Grid ShowGridLines="True" Margin="0,2"> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="30" /> 
         <ColumnDefinition Width="100" /> 
         <ColumnDefinition Width="130" /> 
        </Grid.ColumnDefinitions> 
        <TextBlock Text="{Binding Count}" HorizontalAlignment="Center"/> 
        <ScrollViewer VerticalScrollBarVisibility="Disabled" CanContentScroll="True" Grid.Column="1" HorizontalScrollBarVisibility="Visible"> 
         <TextBlock Text="{Binding FileName}" /> 
        </ScrollViewer> 
       </Grid> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox> 
+0

j'ai pu le faire, mais je peux avoir un seul scrollViewer pour toute la colonne, maintenant il ajoute des Scrollviewers individuels à chaque rangée de column1. – user6850427

+0

qui ne peut pas être fait .. parce que votre grille est à l'intérieur du datatemplate de votre listbox et il se répétera à chaque fois .. –

+0

merci de clarifier cela. – user6850427