的C#4.0的WPF应用程序,请参见下面的代码,显示了在启动时:如何在WPF列表框中排序?
ABD后点击按钮与btnSort_Click()
排序Click事件处理程序:
如何我可以按顺序排列aaa,bbb,ccc吗?
C#代码:
public MainWindow()
{
InitializeComponent();
listBox1.Items.Add("ccc");
listBox1.Items.Add("aaa");
listBox1.Items.Add("bbb");
}
private void btnSort_Click(object sender, RoutedEventArgs e)
{
listBox1.Items.SortDescriptions.Add(
new System.ComponentModel.SortDescription("Content",
System.ComponentModel.ListSortDirection.Ascending));
}
private void listBox1_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
listBox1.Items.RemoveAt
(listBox1.Items.IndexOf(listBox1.SelectedItem));
}
XAML:
<Window x:Class="WpfApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<ListBox Height="100" HorizontalAlignment="Left" Margin="8,43,0,0" Name="listBox1" VerticalAlignment="Top" Width="120" MouseDoubleClick="listBox1_MouseDoubleClick" />
<Button Content="Sort" Height="23" HorizontalAlignment="Left" Margin="140,94,0,0" Name="btnSort" VerticalAlignment="Top" Width="75" Click="btnSort_Click" />
</Grid>
</Window>
更新:
好吧,我只是跟着文章"Sorting a WPF ListBox Items"
那么,究竟是为了通过我我正在通过属性“内容”进行排序,并且该属性“内容”在哪里,我想知道(三编辑将其更改为任意“fff”,而不是“Content”得到相同的结果,如第2次截图所示。
谢谢。你能在我的问题中看看我的更新吗? – Fulproof 2013-03-24 15:36:10
我不确定你到底在问什么......将代码改为我的建议是否解决了这个问题? – Blachshma 2013-03-24 15:37:53
它确实有效。我想了解什么是SortDescription()方法的第一个参数,以及为什么它在提供任意'propertyName'后不会给出错误?为什么顺序是根本改变的(根据哪个排序规则) ? – Fulproof 2013-03-24 15:46:49