这个问题看起来很简单,但在整天搜索之后我找不到任何可行的解决方案。
我有一个标准的TreeView:
<TreeView x:Name="MyUpsideDownTree" ItemsSource="{Binding Items}" />
项目是一个列表(我需要列表保持这个顺序)喜欢
我希望我的TreeView以颠倒的顺序显示项目(包括所有子项目!),即
排序似乎不是解决方案,因为我不想比较项目的价值。
转换器......?
谢谢你的帮助!
你尝试过这样的事吗? (我假设您的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}" />