列表框反转项目顺序

时间:2016-10-05 20:47:22

标签: wpf mvvm listbox

我花了几个小时试图颠倒列表框的顺序(从下到上),如图所示: enter image description here

这意味着新添加的项目应插入列表框的顶部。我不明白在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>

有没有可接受的解决方案?我非常感谢任何帮助!感谢

0 个答案:

没有答案