private void InvokeItem(object item)
{
var lvi = item as ListViewItem;
var isAlreadySelected = lvi != null && lvi.IsSelected;
this.SetSelected(lvi);
if (!isAlreadySelected)
{
this.ItemInvoked?.Invoke(this, item as ListViewItem);
}
if (this._parent.IsPaneOpen
&& (this._parent.DisplayMode == SplitViewDisplayMode.CompactOverlay
|| this._parent.DisplayMode == SplitViewDisplayMode.Overlay))
{
this._parent.IsPaneOpen = false;
var viewItem = item as ListViewItem;
viewItem?.Focus(FocusState.Programmatic);
}
}