列表框列有一个滚动查看器

Listbox Column to have a scrollviewer

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

下面是我的xaml代码

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

是的,这可以做到。尝试这样做。我已经稍微编辑了你的代码

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