private void DiscardCachedSelectedItem()
{
if (IsSelectedItemCached)
{
// Discard cached selection and set selection
// to be the same as highlight
if (HighlightedItem != null)
{
SelectedItem = HighlightedItem;
HighlightedItem = null;
}
else
{
SelectedItem = _cachedSelectedItem;
}
_cachedSelectedItem = null;
IsSelectedItemCached = false;
}
}