这意味着新添加的项目应插入列表框的顶部。我不明白在wpf中实现这么微不足道的事情......
我不想对面板和项本身使用瞬态效果,因为它会在scrollviewer上引起奇怪的行为。我无法在ICollectionView上使用某些排序定义,因为我想使用提供有序数据的数据虚拟化,我必须按原样添加它们。
这是我的Listbox(ListView)定义:
<ListView ItemsSource="{Binding Collection}"
VirtualizingPanel.VirtualizationMode="Recycling"
VirtualizingPanel.ScrollUnit="Pixel"
ScrollViewer.IsDeferredScrollingEnabled="True"
IsSynchronizedWithCurrentItem="True"> <!--To manage scrolling from view model using ICollectionView.ScrollTo()-->
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</ListView.ItemTemplate>
<!--To auto scroll to bottom (via calling ICollectionView.ScrollToBottom()-->
<i:Interaction.Behaviors>
<Behaviors:ScrollIntoCurrentItemBehavior />
</i:Interaction.Behaviors>
<!--To pin listbox panel to bottom-->
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel VerticalAlignment="Bottom"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</ListView>
有没有可接受的解决方案?我非常感谢任何帮助!感谢