WPF-Listview数据绑定列宽问题

WPF-Listview数据绑定列宽问题,wpf,data-binding,listview,wpf-controls,Wpf,Data Binding,Listview,Wpf Controls,下面给出了使用.Net3.5的xaml- <ListView Name="RawData" AlternationCount="2" ItemsSource="{Binding}" ScrollViewer.VerticalScrollBarVisibility="Visible" Grid.Row="1" Grid.ColumnSpan="4" IsSynchronizedWithCurrentItem="True"

下面给出了使用.Net3.5的xaml-

<ListView Name="RawData" AlternationCount="2" ItemsSource="{Binding}"
          ScrollViewer.VerticalScrollBarVisibility="Visible" Grid.Row="1"
          Grid.ColumnSpan="4"
          IsSynchronizedWithCurrentItem="True"
          sorter:GridViewSort.AutoSort="True"
          sorter:GridViewSort.ShowSortGlyph="False" >
    <ListView.ItemContainerStyle>
        <Style TargetType="ListViewItem">
            <Setter Property="HorizontalContentAlignment" Value="Center" />
            <Style.Triggers>
                <Trigger Property="ItemsControl.AlternationIndex" Value="1">
                    <Setter Property="Background" Value="LightGray"></Setter>
                </Trigger>
            </Style.Triggers>
        </Style>
    </ListView.ItemContainerStyle>
    <ListView.View>
        <GridView>
            <GridViewColumn Header="Date" DisplayMemberBinding="{Binding Path=GetDate}"
                            Width="Auto" sorter:GridViewSort.PropertyName="GetDateTime"/>
            <GridViewColumn Header="Time" DisplayMemberBinding="{Binding Path=GetTime}"
                            Width="Auto" sorter:GridViewSort.PropertyName="GetDateTime"/>
            <GridViewColumn Header="Scan Time" DisplayMemberBinding="{Binding Path=ScanTimeSec}"
                            sorter:GridViewSort.PropertyName="ScanTimeSecond"  Width="Auto"/>
            <GridViewColumn Header="Ping Time" DisplayMemberBinding="{Binding Path=PingTimeSec}"
                            sorter:GridViewSort.PropertyName="PingTimeSec"  Width="Auto" />
            <GridViewColumn Header="Fault Messages"
                            DisplayMemberBinding="{Binding Path=ErrorMessages}"
                            sorter:GridViewSort.PropertyName="ErrorMessages" Width="Auto"/>
        </GridView>
    </ListView.View>
</ListView>

我的问题是第一列和最后一列。它们不会自动调整大小以适应数据内容。我可以使用固定的宽度,但当我允许用户调整字体大小时,这会在项目的后期造成问题


我找到的每个解决方案似乎都是设置width=“auto”,WPF将为您执行此操作。然而,它没有做到这一点。因此,作为WPF的新手,我不知道该怎么办。

请删除宽度的“自动”属性。您可以手动设置宽度。如Width=“100”。
我获取了与此问题相同的内容,并通过手动输入宽度来解决此问题。

如果我删除了您的自定义附加属性,并创建了一些示例数据来表示您的绑定,它似乎可以工作。您是否可以提供更多信息,或者提供屏幕截图,了解其显示方式?我将屏幕截图上传至。从屏幕截图可以看出,此listview是tabcontrol中4个tabitems之一。整个应用程序构建在具有4个独立显示区域的Prism上。tabcontrol由Prism中的Unity框架动态创建和定位。我需要自定义属性,以便我的列排序例程工作。