如何:按内容排序DataGrid的项目,而不是按名称排序
我正在按DataGrid
排序Name
的项目,但我想使用Content
属性对它们进行排序。见最后一行:
listView_BusinessContacts.Items.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending));
这是我的代码,使用C#(WPF)设置项目:
public void SetListViewItems()
{
int i = 0;
string[] companies = File.ReadAllLines(@"C:\Users\Companies.txt", Encoding.UTF8);
string itemName = string.Empty;
foreach (string company in companies)
{
Image image = new Image();
image.Source = new BitmapImage(new Uri(@"Images\folder.png", UriKind.Relative));
image.Stretch = Stretch.None;
Label label = new Label();
label.Content = companies[i];
DockPanel.SetDock(image, Dock.Left);
DockPanel.SetDock(label, Dock.Right);
DockPanel dockPanel = new DockPanel();
dockPanel.Children.Add(image);
dockPanel.Children.Add(label);
ListViewItem listViewItem = new ListViewItem();
listViewItem.Content = dockPanel;
itemName = label.Content.ToString();
listViewItem.Name = itemName.Replace(" ", "");
listViewItem.Selected += delegate
{
companyContent = label.Content.ToString();
SetItemsToDataGrid();
};
listView_BusinessContacts.Items.Add(listViewItem);
i++;
}
listView_BusinessContacts.Items.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending));
}
我的问题是,按Content
排序无效。
使用Name
输出示例:HelloMyNameIsCompany
使用Content
输出示例:Hello My Name Is Company // NOT WORKING!
如您所知,Name
属性不允许空白字段,因此我需要Replace
它们。但我不想替换它们 - 我想使用Content
,但这不能正确排序。你知道吗,如何解决这个问题?
提前致谢。
编辑:第一个是txt文件,第二个是应用程序和CORRECT排序(不幸的是使用Name
和Replace
方法)。
很抱歉隐藏文字,但该文件中的信息包含业务问题。