gpt4 book ai didi

c# - ICollectionView.SortDescriptions 不适用于 boolean 值

转载 作者:行者123 更新时间:2023-11-30 22:47:20 24 4
gpt4 key购买 nike

myListBox.Items.SortDescriptions.Add( new SortDescription("BoolProperty", ListSortDirection.Descending));

此排序仅适用于基础项目的字符串属性。不是 boolean 值?这是有原因的吗?

谢谢!

更新:

是的,您的示例确实有效。但是我的例子有什么问题吗?

public class A
{
public bool Prop;
}

List<A> l = new List<A>() {
new A() { Prop = true },
new A() { Prop = false },
new A() { Prop = true },
};

ICollectionView icw = CollectionViewSource.GetDefaultView(l);
icw.SortDescriptions.Add(new SortDescription("Prop", ListSortDirection.Ascending));
icw.Refresh();

最佳答案

嗯,我似乎可以在我的列表示例中的 boolean 属性上添加 SortDescription!

<Window x:Class="WpfApplication3.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
<ListBox x:Name="box" DisplayMemberPath="Test" />
</Grid>
</Window>

代码隐藏:

public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();

//4 instances, each with a property Test of another boolean value
box.ItemsSource = new[] {
new {Test = true},
new {Test = false},
new {Test = false},
new {Test = true}
};

box.Items.SortDescriptions.Add(new SortDescription("Test", ListSortDirection.Descending));
}
}


public class BooleanHolder
{
public bool Test { get; set; }
}

工作起来很有魅力 ;)

也许您在 SortDescription 对象中拼错了属性名称?希望这有帮助

在您的示例中,您将 Prop 定义为一个字段。让它成为一个属性,它就会起作用;)

public class A
{
public bool Prop { get; set; }
}

关于c# - ICollectionView.SortDescriptions 不适用于 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2272794/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com