.net 网格WPF上不必要的水平滚动

.net 网格WPF上不必要的水平滚动,.net,wpf,listbox,.net,Wpf,Listbox,我在列表框中有一个网格。网格中的一列具有宽度*。和其他列具有静态宽度。即使空间足够大,列表视图的水平滚动条也始终显示。我希望滚动条仅在需要时显示,即空间不足 这里发生了什么?我该如何修复它 <ListBox Grid.Column="0" Grid.Row="0" ItemsSource="{Binding MyCollection}" Margin="0" Background="Transparent"

我在列表框中有一个网格。网格中的一列具有宽度*。和其他列具有静态宽度。即使空间足够大,列表视图的水平滚动条也始终显示。我希望滚动条仅在需要时显示,即空间不足

这里发生了什么?我该如何修复它

<ListBox Grid.Column="0" Grid.Row="0" ItemsSource="{Binding MyCollection}"
                 Margin="0"
                 Background="Transparent"
                 BorderThickness="0"
                 Padding="0"
                 ScrollViewer.HorizontalScrollBarVisibility="Auto"
                 ScrollViewer.VerticalScrollBarVisibility="Auto"
                 AutomationProperties.Name="MyListBox"
                 AutomationProperties.AutomationId="MyListBox"
                 Name="MyListBox" Grid.IsSharedSizeScope="True">


                 <ListBox.ItemTemplate>
            <DataTemplate>
                <Grid>
                    <Grid.Width>
                        <Binding ElementName="MyListBox" Path="ActualWidth"/>
                    </Grid.Width>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition SharedSizeGroup="ShCol" width="25"/>
                        <ColumnDefinition width ="30">
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="Auto"/>
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="20"/>
                    </Grid.RowDefinitions>
                </Grid>
            </DataTemplate>


水平内容对齐
设置为
拉伸

<ListBox.ItemContainerStyle>
    <Style TargetType="ListBoxItem">
        <Setter Property="HorizontalContentAlignment" Value="Stretch" />
    </Style>
</ListBox.ItemContainerStyle>