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 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;
}
}
}
Loading…
Cancel
Save