У меня есть элементы списка, сгруппированные по номеру заказа покупателя.Когда пользователь открывает страницу, он хочет видеть свернутые элементы (теперь они отображаются развернутыми).Кроме того, они хотят расширить любую позицию, которую они предпочитают.
ICollectionView dataView = CollectionViewSource.GetDefaultView(EncumbranceEntriesList.ItemsSource);
if (dataView != null && dataView.SortDescriptions.Count == 0)
{
dataView.SortDescriptions.Add(new SortDescription("PurchaseOrderDetail.PurchaseOrder.DisplayNumber", ListSortDirection.Ascending));
dataView.SortDescriptions.Add(new SortDescription("PurchaseOrderDetail.TransactionDate", ListSortDirection.Ascending));
dataView.SortDescriptions.Add(new SortDescription("EntryDate", ListSortDirection.Ascending));
EncumbranceEntriesList.Group("PurchaseOrderDetail.PurchaseOrder.DisplayNumber");
}
------ xaml ----
<abc:DetailsListView x:Name="EncumbranceEntriesList" Grid.Row="1"
ItemsSource="{Binding CurrentEncumbranceJournalEntries}"
SelectionMode="Extended" ShowGroupItemCount="True"
IsSortingEnabled="False"
abc:ListBoxExtensions.HasBindableSelectedItems="True">
<ListView.View>
<abc:DetailsView>
<abc:DetailsViewColumn Header="PO #" Width="100"
IsInitiallyVisible="False" IsUserHidable="False"
DisplayMemberBinding="{Binding PurchaseOrderDetail.PurchaseOrder.DisplayNumber}"
SortPropertyName="PurchaseOrderDetail.PurchaseOrder.DisplayNumber"
GroupPropertyName="PurchaseOrderDetail.PurchaseOrder.DisplayNumber"/>
<abc:DetailsViewColumn Header="Line Item" Width="200"
DisplayMemberBinding="{Binding PurchaseOrderDetail.ShortItemDescription}"/>
<abc:DetailsViewColumn Header="Encumbrance Date" Width="120"
DisplayMemberBinding="{Binding EntryDate, StringFormat=\{0:d\}}"
SortPropertyName="EntryDate" DefaultSortDirection="Descending"/>
</abc:DetailsView>
</ListView.View>
</abc:DetailsListView>