我有以下XAML,
<ItemsPanelTemplate x:Key="ChannelInfoTemplate">
<WrapPanel Orientation="Horizontal" Background="AliceBlue" />
</ItemsPanelTemplate>
和
<DockPanel Grid.Column="1" Grid.Row="2">
<ListView ItemsSource="{Binding FilesList}" Name="FilesItemControl" Background="Transparent" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListView.View>
<GridView AllowsColumnReorder="False">
<GridViewColumn Header="Channels">
<GridViewColumn.CellTemplate>
<DataTemplate>
<ListView ItemsSource="{Binding Channels,UpdateSourceTrigger=PropertyChanged}"
Name="ChannelsView" ItemsPanel="{DynamicResource ChannelsTemplate}"
HorizontalContentAlignment="Stretch" HorizontalAlignment="Stretch"
Background="Transparent" BorderBrush="Transparent" BorderThickness="0"
VerticalAlignment="Bottom"
Tag="{Binding DataContext,RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</DockPanel>
在我的应用程序中,我观察到每当我选择没有通道的第一个文件时,ListView的宽度是根据通道编号设置的。这意味着宽度是根据ListView内的内容设置的。但是当我关闭第一个文件并打开第二个文件时,ListView的宽度不会改变。因此,如果新文件的频道数量超过第一个频道,那么它会显示我不想要的scollviewer。对此有什么解决方案吗?