SelectionChangedEventArgs Class

 

Provides data for the SelectionChanged event.

Namespace:   System.Windows.Controls
Assembly:  PresentationFramework (in PresentationFramework.dll)

System.Object
  System.EventArgs
    System.Windows.RoutedEventArgs
      System.Windows.Controls.SelectionChangedEventArgs

public class SelectionChangedEventArgs : RoutedEventArgs

NameDescription
System_CAPS_pubmethodSelectionChangedEventArgs(RoutedEvent, IList, IList)

Initializes a new instance of the SelectionChangedEventArgs class.

NameDescription
System_CAPS_pubpropertyAddedItems

Gets a list that contains the items that were selected.

System_CAPS_pubpropertyHandled

Gets or sets a value that indicates the present state of the event handling for a routed event as it travels the route. (Inherited from RoutedEventArgs.)

System_CAPS_pubpropertyOriginalSource

Gets the original reporting source as determined by pure hit testing, before any possible Source adjustment by a parent class.(Inherited from RoutedEventArgs.)

System_CAPS_pubpropertyRemovedItems

Gets a list that contains the items that were unselected.

System_CAPS_pubpropertyRoutedEvent

Gets or sets the RoutedEvent associated with this RoutedEventArgs instance. (Inherited from RoutedEventArgs.)

System_CAPS_pubpropertySource

Gets or sets a reference to the object that raised the event. (Inherited from RoutedEventArgs.)

NameDescription
System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_protmethodInvokeEventHandler(Delegate, Object)

Performs the proper type casting to call the type-safe SelectionChangedEventHandler delegate for the SelectionChanged event. (Overrides RoutedEventArgs.InvokeEventHandler(Delegate, Object).)

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_protmethodOnSetSource(Object)

When overridden in a derived class, provides a notification callback entry point whenever the value of the Source property of an instance changes.(Inherited from RoutedEventArgs.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

The following example creates a ListBox and subscribes to the SelectionChanged event. It uses the SelectionChangedEventArgs to find the selected item in the ListBox.

<WrapPanel Width="500" Orientation="Horizontal" Name="rectanglesPanel">
  <WrapPanel.Resources>
    <Style TargetType="Rectangle">
      <Setter Property="Height" Value="20"/>
      <Setter Property="Width" Value="20"/>
      <Setter Property="Margin" Value="5"/>
    </Style>
  </WrapPanel.Resources>
</WrapPanel>

<ListBox Name="myListBox" HorizontalAlignment="Left" SelectionMode="Extended" 
      Width="265" Height="55" Background="HoneyDew" SelectionChanged="myListBox_SelectionChanged"
      ItemsSource="{Binding Source={StaticResource Colors}}" IsSynchronizedWithCurrentItem="true">
</ListBox>

void myListBox_SelectionChanged(object sender, SelectionChangedEventArgs args)
{

    BrushConverter converter = new BrushConverter();

    // Show Rectangles that are the selected colors.
    foreach (string color in args.AddedItems)
    {
        if (GetRectangle(color) == null)
        {
            Rectangle aRect = new Rectangle();
            aRect.Fill = (Brush) converter.ConvertFrom(color);
            aRect.Tag = color;
            rectanglesPanel.Children.Add(aRect);
        }

    }

    // Remove the Rectangles that are the unselected colors.
    foreach (string color in args.RemovedItems)
    {
        FrameworkElement removedItem = GetRectangle(color);
        if (removedItem != null)
        {
            rectanglesPanel.Children.Remove(removedItem);
        }
    }
}

FrameworkElement GetRectangle(string color)
{
    foreach (FrameworkElement rect in rectanglesPanel.Children)
    {
        if (rect.Tag.ToString() == color)
            return rect;
    }

    return null;
}

.NET Framework
Available since 3.0
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: