WPF-Listview数据绑定列宽问题
下面给出了使用.Net3.5的xaml-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"
<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框架动态创建和定位。我需要自定义属性,以便我的列排序例程工作。