From 7b0b0f25e3a78428db9c69141744a27af2ae453f Mon Sep 17 00:00:00 2001 From: Rich Date: Tue, 5 May 2009 20:50:28 +0000 Subject: [PATCH] Reduced repeat of ItemSelectedChanged events --- PROMS/Volian.Controls.Library/StepPanel.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/PROMS/Volian.Controls.Library/StepPanel.cs b/PROMS/Volian.Controls.Library/StepPanel.cs index 1e7a2f5e..5b0b0faa 100644 --- a/PROMS/Volian.Controls.Library/StepPanel.cs +++ b/PROMS/Volian.Controls.Library/StepPanel.cs @@ -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. /// /// Occurs when the selected StepItem changes /// @@ -87,6 +88,8 @@ namespace Volian.Controls.Library /// 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); } /// @@ -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 } }