我创建了一个 usercontrol ,该控件具有4个参数Name / Date / Text / Color
C#:
public static readonly DependencyProperty _date
= DependencyProperty.Register(
"_date_value",
typeof(string),
typeof(date_ctrl),
new PropertyMetadata(null)
);
public string _date_value
{
get { return (string)GetValue(_date); }
set { SetValue(_date, value); }
}
我正在通过代码将用户控件添加到 stackpanel 子级中。
现在,我想对该控制器进行排序,我知道如何对数组进行排序和对列表框项目进行排序,但是我如何才能通过诸如 Date 之类的用户控件上的特定属性来对StackPanel子级进行排序?
例如:
堆栈面板子级:
按日期值排序至:
日期格式:dd / mm / yy
答案 0 :(得分:0)
StackPanel只是控件列表。您无法对其进行排序。您可以做的是将控件存储在列表或数组中并对其进行排序,然后将其绑定到StackPanel。
理想情况下,您应该使用ListBox / ItemsControl并使用CollectionViewSorce / SortDescription对象来完成此操作。如果可以,您应该遵循MVVM开发方法。这使控件的绑定和排序变得更加容易。有关类似问题的更完整答案,请参见这篇文章:sorting elements in a stackpanel WPF