#c# #wpf #xaml #listview #tabcontrol
#c# #wpf #xaml #listview #tabcontrol
Вопрос:
Я получил TabControl, основанный на базовом C #-list Request.Params
. На основе этого C #-list генерируется несколько вкладок с ListView для каждой. Эти списки основаны на именованных списках C # Values
, которые являются частью Request.Params
. Теперь я хочу иметь сортировку для этих списков, отсюда и события щелчка.
Чтобы реализовать сортировку, которую я хочу вызвать ListView.Items.SortDescriptions...
, но я не могу этого сделать, так как я не знаю, как получить ListView, который является частью текущей выбранной вкладки, в коде позади.
ParamsTabs.SelectedItem
и ParamsTabs.SelectedContent
храните только фактические данные, а не элемент ListView.
<TabControl Name="ParamsTabs" ItemsSource="{Binding Request.Params}">
<TabControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Semantic}"/>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<ListView Name="ValuesList" ItemsSource="{Binding Values}" Background="LightGray">
<ListView.View>
<GridView>
<GridViewColumn>
<GridViewColumn.Header>
<GridViewColumnHeader Tag="Value" Click="SortValuesList">Value</GridViewColumnHeader>
</GridViewColumn.Header>
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Value}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="400">
<GridViewColumn.Header>
<GridViewColumnHeader Tag="Description" Click="SortValuesList">Description</GridViewColumnHeader>
</GridViewColumn.Header>
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Description}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
Я что-то упустил?
Комментарии:
1. Почему вы не сортируете
Values
исходную коллекцию?2. В этом проекте есть несколько других ListViews, которые отсортированы таким образом; Мне не хотелось нарушать соглашение о сортировке ViewDescriptions.
3. Затем отсортировать в разметке XAML?
4. Вот отличная статья от Томаса Левеска. Посмотрите, и у вас будет сортировка для вашего
GridView
.