的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