如何反转TreeView的顺序?

时间:2018-08-31 16:22:27

标签: wpf xaml treeview

这个问题似乎很简单,但是整日搜索之后,我没有找到任何可行的解决方案。

我有一个标准的TreeView:

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

项目是一个列表(我需要该列表保持此顺序)

  • A
  • B
    • B1
    • B2
  • C

我希望TreeView以倒序显示项目(包括所有子项!)

  • C
  • B
    • B2
    • B1
  • A

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

转换器...?

感谢您的帮助!

1 个答案:

答案 0 :(得分: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}" />