Reduced repeat of ItemSelectedChanged events
This commit is contained in:
parent
37b1238f56
commit
7b0b0f25e3
@ -76,6 +76,7 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
if (ItemClick != null) ItemClick(sender, args);
|
||||
}
|
||||
private bool ItemSelectionChangeShown = false; // This keeps OnItemSelectedChanged from being called twice when an item is selected.
|
||||
/// <summary>
|
||||
/// Occurs when the selected StepItem changes
|
||||
/// </summary>
|
||||
@ -87,6 +88,8 @@ namespace Volian.Controls.Library
|
||||
/// <param name="args"></param>
|
||||
internal void OnItemSelectedChanged(object sender, ItemSelectedChangedEventArgs args)
|
||||
{
|
||||
ItemSelectionChangeShown = true;//Remember that you have run already
|
||||
//vlnStackTrace.ShowStack(string.Format("OnItemSelectedChanged {0}",args.MyItemInfo.ItemID));
|
||||
if (ItemSelectedChanged != null) ItemSelectedChanged(sender, args);
|
||||
}
|
||||
/// <summary>
|
||||
@ -325,8 +328,9 @@ namespace Volian.Controls.Library
|
||||
// reset the entire step panel if the item isn't found.
|
||||
if (!_LookupStepItems.ContainsKey(id)) Reset();
|
||||
StepItem itm = _LookupStepItems[id];
|
||||
ItemSelectionChangeShown = false;//OnItemSelectedChanged has not run yet.
|
||||
itm.ItemSelect();
|
||||
OnItemSelectedChanged(this, new ItemSelectedChangedEventArgs(itm));
|
||||
if (!ItemSelectionChangeShown) OnItemSelectedChanged(this, new ItemSelectedChangedEventArgs(itm));
|
||||
//vlnStackTrace.ShowStack("_ItemSelected = {0}", _ItemSelected.ItemID);// Show StackTrace
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user