如何反转TreeView的顺序?

问题描述 投票:0回答:1

这个问题看起来很简单,但在整天搜索之后我找不到任何可行的解决方案。

我有一个标准的TreeView:

<TreeView x:Name="MyUpsideDownTree" ItemsSource="{Binding Items}" />

项目是一个列表(我需要列表保持这个顺序)喜欢

  • 一个
  • 乙 B1 B2
  • C

我希望我的TreeView以颠倒的顺序显示项目(包括所有子项目!),即

  • C
  • 乙 B2 B1
  • 一个

排序似乎不是解决方案,因为我不想比较项目的价值。

转换器......?

谢谢你的帮助!

wpf xaml treeview
1个回答
0
投票

你尝试过这样的事吗? (我假设您的Items绑定是一个列表。)

转换器:

public class ReverseListConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, string language)
    {
        var list = (List<object>)value;

        list.Reverse();

        return list;
    }

    public object ConvertBack(object value, Type targetType, object parameter, string language)
    {
        return DependencyProperty.UnsetValue;
    }
}

用法:

<Page.Resources>
    <ReverseListConverter x:Key="ReverseListConverter"/>
</Page.Resources>

<TreeView x:Name="MyUpsideDownTree" ItemsSource="{Binding Items, Converter={StaticResource ReverseListConverter}" />
© www.soinside.com 2019 - 2024. All rights reserved.