sách gpt4 ai đã đi

.net - 如何根据来自转换器的数据对 WPF 数据网格进行排序?

In lại 作者:行者123 更新时间:2023-12-04 05:47:24 28 4
mua khóa gpt4 Nike

问题:如何在数据来自转换器的列上对数据网格进行排序?

我有一个类似于:

public class MyViewModel
{
public string Name { get; set; }
public IEnumerable Aliases { get; set; }
}

此外,我有一个自定义转换器映射 IEnumerable只是一个 sợi dây .

我的 DataGrid 类似于:




...

到现在为止还挺好。它按预期显示。问题在于排序。

按名称排序时,一切都很好。当按数据来自转换器的列排序时,我得到一个 .NET 异常:

The SortDescriptions added are not valid. The probable solutions are to set the CanUserSort on the Column to false, or to use SortMemberPath property on the Column, or to handle the Sorting event on DataGrid.



有一个解决方案建议修改 View 模型以具有类似于以下内容的属性:
public class AliasesMapping
{
public IEnumerable Raw { get; set; }
public string Converted { get; set; }
}

但是......我想知道是否有更好或更标准的方法来解决这个问题。感觉在这个解决方案中,UI 限制正在渗透到 View 模型层。

更新:这是转换器
[ValueConversion(typeof(IEnumerable), typeof(string))]
public class AliasFormatConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
string converted = string.Empty;
var val = value as IEnumerable;

if (val != null)
{
var list = new List(val);
list.Sort();

converted = string.Join(",", list);
}

return converted;
}

public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}

1 Câu trả lời

这未经测试,但无法格式化评论

SortMemberPath="FirstString"

Public string FirtString { get { return Aliases[0]; } }

public string Converted { get; set; } 没什么不同你想摆脱所以可能对你没有多大值(value)。我只是说这就是我要尝试的。

关于.net - 如何根据来自转换器的数据对 WPF 数据网格进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10503564/

28 4 0
Bài viết được đề xuất: objective-c - UINavigationbar 按钮背景图片大小
Bài viết được đề xuất: php - Tương tác với Wikipedia API
Bài viết được đề xuất: windows-phone-7 - Azure + Windows 手机 7
Bài viết được đề xuất: google-sheets - 在Google Spreadsheet中通过插值填充丢失的数据
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com