修改 #2:
public void ReverseOrderRegBtns()
{
ICollectionView view = CollectionViewSource.GetDefaultView(GlobalObservableCol.regBtns);
view.SortDescriptions.Add(new SortDescription("ReverseOrder", ListSortDirection.Ascending));
view.Refresh();
}
不太确定如何适应ICollectionView,它还会中断正在执行某些逻辑的计时器。由于某种原因,当创建按钮时,它会中断开始计数的定时器。
我的应用程序有几个计时器,因此创建的按钮每隔x秒就会更新可能的新内容。
编辑:
数据绑定如下:
<ListBox x:Name="lbRegistration" ItemsSource="{Binding regBtnsReverse, ElementName=Window}" Background="{x:Null}"
原文: public ObservableCollection RegBtns { get { if (GlobalObservableCol.regBtns == null) { return new ObservableCollection(); } return GlobalObservableCol.regBtns; } }
新的代码(不再适用),相反的代码在ObserableCol类中
public ObservableCollection RegBtns { get { if (ObservableCol.RegBtns == null) { return new ObservableCollection(); } return ObservableCol.RegBtns; } }public IEnumerable<RegistrationButton> RegBtns
{
get
{
return GlobalObservableCol.regBtnsReverse;
}
}
我已经在我的静态类中创建了IEnumerable,其中包含ObservableCollection列表。
当我的数据绑定是IENumerable时,我似乎无法进行绑定。如何将位于其他类中的NumbersReverse方法绑定到我的MainWindow.xls上?
我有一个ObservableCollection,其中包含自定义样式的WPF按钮。
这些项会动态创建并添加到自定义滑块控件(列表框)上。例如,Button 1、Button 2、Button 3等。
我想要的正好相反。
例如,Button 3、Button 2、Button 1。
这听起来像是一个链接列表,但是我的整个应用程序已经在整个逻辑中使用了这个Observable Collection。
当按钮在UI中显示时,最后添加的按钮应该放置在我的滑块(即列表框控件)的第一项。
我应该如何实现这一点?
谢谢, PeterP