SelectionChangedEventArgs(RoutedEvent, IList, IList) Konstruktor
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Initierar en ny instans av SelectionChangedEventArgs klassen.
public:
SelectionChangedEventArgs(System::Windows::RoutedEvent ^ id, System::Collections::IList ^ removedItems, System::Collections::IList ^ addedItems);
public SelectionChangedEventArgs(System.Windows.RoutedEvent id, System.Collections.IList removedItems, System.Collections.IList addedItems);
new System.Windows.Controls.SelectionChangedEventArgs : System.Windows.RoutedEvent * System.Collections.IList * System.Collections.IList -> System.Windows.Controls.SelectionChangedEventArgs
Public Sub New (id As RoutedEvent, removedItems As IList, addedItems As IList)
Parametrar
- id
- RoutedEvent
Händelseidentifieraren (ID).
- removedItems
- IList
De objekt som avmarkerades under den här händelsen.
- addedItems
- IList
De objekt som valdes under den här händelsen.
Exempel
I följande exempel skapas en ListBox och prenumererar på SelectionChanged händelsen. Den använder SelectionChangedEventArgs för att hitta det markerade objektet i 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;
}
Private Sub myListBox_SelectionChanged(ByVal sender As Object, ByVal args As SelectionChangedEventArgs)
Dim converter As BrushConverter = New BrushConverter()
Dim color As String
' Show Rectangles that are the selected colors.
For Each color In args.AddedItems
If GetRectangle(color) Is Nothing Then
Dim aRect As Rectangle = New Rectangle()
aRect.Fill = CType(converter.ConvertFrom(color), Brush)
aRect.Tag = color
rectanglesPanel.Children.Add(aRect)
End If
Next
' Remove the Rectangles that are the unselected colors.
For Each color In args.RemovedItems
Dim removedItem As FrameworkElement = GetRectangle(color)
If Not removedItem Is Nothing Then
rectanglesPanel.Children.Remove(removedItem)
End If
Next
End Sub
Private Function GetRectangle(ByVal color As String) As FrameworkElement
Dim rect As FrameworkElement
For Each rect In rectanglesPanel.Children
If rect.Tag.ToString() = color Then
Return rect
End If
Next
Return Nothing
End Function