所以我目前有一个 ListView“List A”,每个项目都有一个扩展控件,其中包含另一个 ListView“List B”。我遇到的问题是,有时列表 B 变得如此之大,以至于超出了列表 A 的 View 区域范围。列表 A 的滚动条不会显示列表 B 的部分内容未显示的事实。有没有一种方法可以设置我的 xaml,以便列表 A 的滚动条可以检测到扩展器内的列表何时比列表 A 的查看区域长。
这是我需要修改的代码部分:
<TabItem Header="Finished">
<TabItem.Resources>
<ResourceDictionary>
<DataTemplate x:Key="EpisodeItem">
<DockPanel Margin="30,3">
<TextBlock Text="{Binding Title}" DockPanel.Dock="Left" />
<WrapPanel Margin="10,0" DockPanel.Dock="Right">
<TextBlock Text="Finished at: " />
<TextBlock Text="{Binding TimeAdded}" />
</WrapPanel>
</DockPanel>
</DataTemplate>
<DataTemplate x:Key="AnimeItem">
<DockPanel Margin="5,10">
<Image Height="75" Width="Auto" Source="{Binding ImagePath}" DockPanel.Dock="Left" VerticalAlignment="Top"/>
<Expander Template="{StaticResource AnimeExpanderControlTemplate}" >
<Expander.Header>
<TextBlock FontWeight="Bold" Text="{Binding AnimeTitle}" />
</Expander.Header>
<ListView ItemsSource="{Binding Episodes}" ItemTemplate="{StaticResource EpisodeItem}" BorderThickness="0,0,0,0" />
</Expander>
</DockPanel>
</DataTemplate>
</ResourceDictionary>
</TabItem.Resources>
<ListView Name="finishedView" ItemsSource="{Binding UploadedAnime, diagnostics:PresentationTraceSources.TraceLevel=High}" ItemTemplate="{StaticResource AnimeItem}" />
</TabItem>
List A 是名为“finishedView”的 ListView,List B 是 ItemSource 为“Episodes”的 ListView
最佳答案
** 编辑 - 忽略我之前的回答,因为你正在处理单个项目的列表,你最好使用 ListBox
并让它自己处理内容。
关于c# - WPF - ListView 内的 ListView 滚动条问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2830273/