wpf - 单击按钮时对 WPF 列表框进行排序?

标签 wpf vb.net sorting listbox

首先让我说我对编码非常陌生,所以我的知识有很大差距......任何人:

对,我试图在单击按钮时对 WPF 列表框进行排序,最好是在纯 xaml 中(否则 VB)。我很难看到大多数示例都是用 C# 编写的。这是我的代码:

 <Grid.Resources>
      <CollectionViewSource x:Key="myCollectionView"
                            Source="{Binding Path=Query4, Source={x:Static Application.Current}}" >
           <CollectionViewSource.SortDescriptions>
                <scm:SortDescription PropertyName="ContactID"
                                     Direction="Descending"/>
           </CollectionViewSource.SortDescriptions>
      </CollectionViewSource>
</Grid.Resources>

<ListBox x:Name="ContDefault"
         IsSynchronizedWithCurrentItem="True"
         ItemsSource="{Binding Source={StaticResource myCollectionView}}"
         ItemTemplate="{StaticResource ContactsList}" />

现在,我想做的是添加一个按钮,如下所示:

 <Button x:Name="SortNameAsc"
         Content="Sort By Name"
         Visibility="Visible">

现在,当单击此按钮时,我希望列表框按“名字”字段进行排序,我想我必须以某种方式更改排序描述,所以有人可以告诉我怎么做吗?还是我要走这条旧路。再次最好是在 XAML 中,但如果需要在 VB 中,您可以尝试保持简单吗?

谢谢大家

最佳答案

希望有帮助: Google 想出了这个( http://www.kudzuworld.com/blogs/Tech/20070815A.en.aspx )

ListCollectionView view = new ListCollectionView(channel.Members);
view.SortDescriptions.Add(new System.ComponentModel.SortDescription("lastName",
  System.ComponentModel.ListSortDirection.Ascending);
view.SortDescriptions.Add(new System.ComponentModel.SortDescription("firstName",
  System.ComponentModel.ListSortDirection.Ascending); 
view.CustomSort = new IComprarerImplementation; //Do this if you want a custom sort;
view.Refresh();

关于示例 3,这应该是正确的:

<ListBox x:Name="ContDefault"
         IsSynchronizedWithCurrentItem="True"
         ItemsSource="{Binding Source={StaticResource myCollectionView}}"
         ItemTemplate="{StaticResource ContactsList}"
         SortDescription="First Name" />

关于wpf - 单击按钮时对 WPF 列表框进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/739988/

相关文章:

sql-server - 避免 SQL Server GROUP BY 中不必要的排序?

c# - 如何自定义光标文件并将其添加到项目中?

c# - 绑定(bind)到 TabControl SelectedIndex

.net - 对条件属性使用编译器指令

c# - 我在哪里可以找到 .NET 框架包装的所有 "COR_E_"HRESULT 的引用?

c# - 根据一组固定的字符串按属性名称对列表进行排序

performance - 在 neo4j 中检索时如何避免最近更新的节点?

c# - 为什么调用方方法和异步方法具有相同的线程 ID

c# - WPF 应用程序 - 存储单词列表的方法?

使用 VB.NET 的 SQL Server 数据库新架构