c# - 更改显示 (UI)/项目 Observable 集合的顺序

标签 c# .net wpf

编辑#2:

    public void ReverseOrderRegBtns()
    {
        ICollectionView view = CollectionViewSource.GetDefaultView(GlobalObservableCol.regBtns);
        view.SortDescriptions.Add(new SortDescription("ReverseOrder", ListSortDirection.Ascending));
        view.Refresh();
    }

不太确定如何将 ICollectionView 放入其中,它还会中断正在执行某些逻辑的计时器。出于某种原因,它打断了我在创建按钮时开始计时的时间。

我的应用程序有多个计时器,因此创建的按钮每 x 秒更新一次可能的新内容。

编辑:

数据绑定(bind)如下所示:

<ListBox x:Name="lbRegistration" ItemsSource="{Binding regBtnsReverse, ElementName=Window}" Background="{x:Null}" 

旧: 公共(public) ObservableCollection RegBtns { 得到 { 如果(GlobalObservableCol.regBtns == null) { 返回新的 ObservableCollection(); } 返回 GlobalObservableCol.regBtns; }

新增(不再有效),反之在ObserableCol类中

public IEnumerable<RegistrationButton> RegBtns
        {
            get
            {
                return GlobalObservableCol.regBtnsReverse;
            }
        }

我已经在 ObservableCollection 列表可用的静态类中创建了 IEnumerable。

当我的数据绑定(bind)是 IENumerable 时,我似乎无法绑定(bind)。如何绑定(bind) NumbersReverse 位于我的 MainWindow.xls 的其他类中的方法?


我有一个 ObservableCollection,它包含自定义样式的 WPF 按钮。

这些项目会动态创建并添加到自定义 slider 控件(列表框)上。 例如按钮 1、按钮 2、按钮 3、...

我想要的恰恰是相反

例如按钮 3、按钮 2、按钮 1。 这听起来像一个链表,但我的整个应用程序已经在整个逻辑中使用了这个 Observable 集合。

当按钮显示在 UI 中时,最后添加的按钮应作为我的 slider (即列表框控件)上的第一项放置。

我怎样才能做到这一点?

谢谢, 彼得P

最佳答案

<ListBox ItemsSource="{Binding Foo}"/>

private ObservableCollection<RegButtton> RegBtns = new...;

public ICollectionView Foo { get; set; }

Foo = CollectionViewSource.GetDefaultView(RegBtns);
Foo.SortDescriptions.Add(new SortDescription("SomePropertyName", ListSortDirection.Ascending));
Foo.Refresh();

关于c# - 更改显示 (UI)/项目 Observable 集合的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10206394/

相关文章:

c# - 如何使用负退出代码调用 GetExitCodeProcess?

android - 如何在 Android 中使用 WCF .SVC

c# - WPF 中的 BeginUpdate 等价物?

C# lock(),无论如何要获取指标?

c# - 将特定列从一个 DataTable 复制到另一个

c# - 数据源更改时未调用 ComboBox SelectedValueChanged

c# - 处理具有多个子控件的用户控件的双击事件

c# - 带有加载动画的 WPF 图像

c# - 禁用基于 DataGrid DataGridTextColumn 验证失败的按钮

c# - WebService 不读取 web.config