Browse Source

fixed type in Selector base class and added IsSelected property to the SelectedItemChangedEventArgs class

pull/1645/head
brianlagunas_cp 15 years ago
parent
commit
ca42a8ac57
  1. 12
      ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/Core/Primitives/Selector.cs

12
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 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 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); } add { AddHandler(SelectedItemChangedEvent, value); }
remove { RemoveHandler(SelectedItemChangedEvent, value); } remove { RemoveHandler(SelectedItemChangedEvent, value); }
@ -255,15 +255,15 @@ namespace Microsoft.Windows.Controls.Primitives
{ {
var item = GetDataContextItem(source); var item = GetDataContextItem(source);
Update(item, remove); 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) if (_surpressSelectionChanged)
return; return;
RaiseEvent(new SelectedItemChangedEventArgs(Selector.SelectedItemChangedEvent, this, item)); RaiseEvent(new SelectedItemChangedEventArgs(Selector.SelectedItemChangedEvent, this, item, isSelected));
if (Command != null) if (Command != null)
Command.Execute(SelectedItem); Command.Execute(SelectedItem);
@ -381,12 +381,14 @@ namespace Microsoft.Windows.Controls.Primitives
public delegate void SelectedItemChangedEventHandler(object sender, SelectedItemChangedEventArgs e); public delegate void SelectedItemChangedEventHandler(object sender, SelectedItemChangedEventArgs e);
public class SelectedItemChangedEventArgs : RoutedEventArgs public class SelectedItemChangedEventArgs : RoutedEventArgs
{ {
public bool IsSelected {get;private set;}
public object Item { 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) : base(routedEvent, source)
{ {
Item = item; Item = item;
IsSelected = isSelected;
} }
} }
} }
Loading…
Cancel
Save