У меня есть окно с TabControl, которое я связал со списком объектов, я буду называть MyItem:
<TabControl Name="MyTabPNL" Background="Gainsboro"
ItemsSource="{Binding MyItemList, ElementName=WatcherWindow}"
ContentTemplate="{StaticResource tabItemTemplate}">
</TabControl>
Этот класс MyItem имеет ObservableCollection, которую я хочу привязать к Listview, я делаю это с DataTemplate.
ЦЕЛЬ: Я хотел бы автоматически отсортировать эту коллекцию ObservableCollection в XAML. Обычно я бы использовал CollectionViewSource, но я не могу найти путь к этому ... Я пробовал такие вещи:
<DataTemplate x:Key="tabItemTemplate">
<DataTemplate.Resources>
<CollectionViewSource x:Key='dayList' Source="{Binding MyDayList}">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="MyDate" Direction="Descending" />
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
</DataTemplate.Resources>
<Grid >
<ListView ItemsSource="{Binding Source={StaticResource dayList}}" >
<ListView.View>
<GridView x:Name="gridvwDay" >
<GridViewColumn Header="MyDate"
CellTemplate="{StaticResource myCellTemplatePNLDate}"
HeaderContainerStyle="{StaticResource CustomHeaderStyleNeutral}"
Width="70" />
</GridView>
</ListView.View>
</ListView>
</Grid>
Но каждый раз, когда я получаю одну и ту же ошибку:
Ошибка System.Windows.Data: 2: невозможно
найти управляющий FrameworkElement или
FrameworkContentElement для цели
элемент.
BindingExpression: Path = MyDayList;
DataItem = NULL; целевой элемент
'CollectionViewSource'
(HashCode = 58368655); целевое свойство
is 'Source' (тип 'Object')
Я не могу найти способ сделать ссылку между dayList в ListView ItemsSource и dayList в CollectionRessource.
Ребята, у вас есть идея?
К вашему сведению: предварительная сортировка ObservableCollection невозможна из-за природы класса, который я использую.