From ca42a8ac57fd6ac2e762546c19d32cd012414030 Mon Sep 17 00:00:00 2001 From: brianlagunas_cp Date: Fri, 14 Oct 2011 20:52:09 +0000 Subject: [PATCH] fixed type in Selector base class and added IsSelected property to the SelectedItemChangedEventArgs class --- .../WPFToolkit.Extended/Core/Primitives/Selector.cs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/Core/Primitives/Selector.cs b/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/Core/Primitives/Selector.cs index 80c1326a..8ae0be82 100644 --- a/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/Core/Primitives/Selector.cs +++ b/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/Core/Primitives/Selector.cs @@ -200,7 +200,7 @@ namespace Microsoft.Windows.Controls.Primitives public static readonly RoutedEvent UnSelectedEvent = EventManager.RegisterRoutedEvent("UnSelectedEvent", RoutingStrategy.Bubble, typeof(SelectedItemChangedEventHandler), typeof(Selector)); public static readonly RoutedEvent SelectedItemChangedEvent = EventManager.RegisterRoutedEvent("SelectedItemChanged", RoutingStrategy.Bubble, typeof(SelectedItemChangedEventHandler), typeof(Selector)); - public event SelectedItemChangedEventHandler SelectionItemChanged + public event SelectedItemChangedEventHandler SelectedItemChanged { add { AddHandler(SelectedItemChangedEvent, value); } remove { RemoveHandler(SelectedItemChangedEvent, value); } @@ -255,15 +255,15 @@ namespace Microsoft.Windows.Controls.Primitives { var item = GetDataContextItem(source); Update(item, remove); - RaiseSelectionItemChangedEvent(item); + RaiseSelectionItemChangedEvent(item, !remove); //inverse the remove paramter to correctly reflect the IsSelected state } - protected virtual void RaiseSelectionItemChangedEvent(object item) + protected virtual void RaiseSelectionItemChangedEvent(object item, bool isSelected) { if (_surpressSelectionChanged) return; - RaiseEvent(new SelectedItemChangedEventArgs(Selector.SelectedItemChangedEvent, this, item)); + RaiseEvent(new SelectedItemChangedEventArgs(Selector.SelectedItemChangedEvent, this, item, isSelected)); if (Command != null) Command.Execute(SelectedItem); @@ -381,12 +381,14 @@ namespace Microsoft.Windows.Controls.Primitives public delegate void SelectedItemChangedEventHandler(object sender, SelectedItemChangedEventArgs e); public class SelectedItemChangedEventArgs : RoutedEventArgs { + public bool IsSelected {get;private set;} public object Item { get; private set; } - public SelectedItemChangedEventArgs(RoutedEvent routedEvent, object source, object item) + public SelectedItemChangedEventArgs(RoutedEvent routedEvent, object source, object item, bool isSelected) : base(routedEvent, source) { Item = item; + IsSelected = isSelected; } } } \ No newline at end of file