2017-08-10 50 views
0

在我的WPF应用程序中,我有一个带有网格的列表框,并且网格的一列包含名称,这些名称可能很长。是否可以将滚动条或滚动查看器限制为只是第1列(因为它有名称,它们的宽度可能会有所不同),而休息列表框会有一个共同的滚动查看器。 它可以有两个ScrollViewer整个列表框和一个专用于有名称的列1。它可能吗?Listbox有滚动查看器的列

下面

<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> 

回答

0

我的XAML代码是可以这样做..try这样做。我已编辑你的代码有点

 <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

我是能够做到这一点,但我可以有整个列的单个滚动查看器,现在它将每个滚动查看器添加到列1的每一行。 – user6850427

+0

不能完成..因为你的网格是在你的列表框的数据模板内,并且每次都会重复。 –

+0

感谢您澄清这一点。 – user6850427