private void OnChoosingGroupHeaderContainer(ListViewBase sender, ChoosingGroupHeaderContainerEventArgs args)
        {
            var company = ((IGrouping <string, Contact>)args.Group).Key;

            if (args.GroupHeaderContainer is null)
            {
                args.GroupHeaderContainer = new ListViewHeaderItem();
            }

            AutomationProperties.SetName(args.GroupHeaderContainer, company);
        }
        private async void OnChoosingGroupHeaderContainer(ListViewBase sender, ChoosingGroupHeaderContainerEventArgs args)
        {
            if (args.GroupHeaderContainer == null)
            {
                args.GroupHeaderContainer                 = new GridViewHeaderItem();
                args.GroupHeaderContainer.Style           = Stickers.GroupStyle[0].HeaderContainerStyle;
                args.GroupHeaderContainer.ContentTemplate = Stickers.GroupStyle[0].HeaderTemplate;
            }

            if (args.Group is StickerSetViewModel group && !group.IsLoaded)
            {
                group.IsLoaded = true;

                //Debug.WriteLine("Loading sticker set " + group.Id);

                var response = await ViewModel.ProtoService.SendAsync(new GetStickerSet(group.Id));

                if (response is StickerSet full)
                {
                    group.Update(full, true);
                }
            }
        }
 void IChoosingGroupHeaderContainerEventArgsResolver.GroupHeaderContainer(ChoosingGroupHeaderContainerEventArgs e, ListViewBaseHeaderItem groupHeaderContainer) => e.GroupHeaderContainer = groupHeaderContainer;
 int IChoosingGroupHeaderContainerEventArgsResolver.GroupIndex(ChoosingGroupHeaderContainerEventArgs e) => e.GroupIndex;
 object IChoosingGroupHeaderContainerEventArgsResolver.Group(ChoosingGroupHeaderContainerEventArgs e) => e.Group;
 ListViewBaseHeaderItem IChoosingGroupHeaderContainerEventArgsResolver.GroupHeaderContainer(ChoosingGroupHeaderContainerEventArgs e) => e.GroupHeaderContainer;
 /// <summary>
 /// Gets the index in the <see cref="ItemsControl.ItemsSource"/> of the data group for which a container is being selected.
 /// </summary>
 /// <param name="e">The requested <see cref="ChoosingGroupHeaderContainerEventArgs"/>.</param>
 /// <returns>
 /// The index in the <see cref="ItemsControl.ItemsSource"/> of the data group for which a container is being selected.
 /// </returns>
 public static int GroupIndex(this ChoosingGroupHeaderContainerEventArgs e) => Resolver.GroupIndex(e);
 /// <summary>
 /// Sets the UI container that will be used to display the current data group.
 /// </summary>
 /// <param name="e">The requested <see cref="ChoosingGroupHeaderContainerEventArgs"/>.</param>
 /// <param name="groupHeaderContainer">The UI container that will be used to display the current data group.</param>
 public static void GroupHeaderContainer(this ChoosingGroupHeaderContainerEventArgs e, ListViewBaseHeaderItem groupHeaderContainer) => Resolver.GroupHeaderContainer(e, groupHeaderContainer);
 /// <summary>
 /// Gets the UI container that will be used to display the current data group.
 /// </summary>
 /// <param name="e">The requested <see cref="ChoosingGroupHeaderContainerEventArgs"/>.</param>
 /// <returns>The UI container that will be used to display the current data group.</returns>
 public static ListViewBaseHeaderItem GroupHeaderContainer(this ChoosingGroupHeaderContainerEventArgs e) => Resolver.GroupHeaderContainer(e);
 /// <summary>
 /// Gets the data group associated with this <see cref="ChoosingGroupHeaderContainerEventArgs.GroupHeaderContainer"/>.
 /// </summary>
 /// <param name="e">The requested <see cref="ChoosingGroupHeaderContainerEventArgs"/>.</param>
 /// <returns>The data group associated with this <see cref="ChoosingGroupHeaderContainerEventArgs.GroupHeaderContainer"/>.</returns>
 public static object Group(this ChoosingGroupHeaderContainerEventArgs e) => Resolver.Group(e);
 private void Option1(ListViewBase sender, ChoosingGroupHeaderContainerEventArgs args)
 {
 }