This list box allows items to be selected in groups by using the SHIFT key and mouse or the CTRL key and space key. : ListBox « Windows Presentation Foundation « VB.Net Tutorial






<Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:src="clr-namespace:ListBoxEvent"  
    x:Class="ListBoxEvent.Pane1">
  <Canvas.Resources>
    <src:myColors x:Key="Colors"/>
  </Canvas.Resources>

    <StackPanel Margin="10, 10, 3, 3">
      <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>
    </StackPanel>


</Canvas>
//File:Window.xaml.vb

Imports System
Imports System.ComponentModel
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Documents
Imports System.Windows.Navigation
Imports System.Windows.Shapes
Imports System.Windows.Data
Imports System.Windows.Media
Imports System.Collections.ObjectModel

Namespace ListBoxEvent
  Public Class myColors
    Inherits ObservableCollection(Of String)
    Public Sub New()
      Add("LightBlue")
      Add("Pink")
      Add("Red")
      Add("Purple")
      Add("Blue")
      Add("Green")
    End Sub
  End Class
  Public Partial Class Pane1
    Inherits Canvas
    Public Sub New()
      MyBase.New()
      InitializeComponent()
    End Sub
    Private Sub myListBox_SelectionChanged(sender As Object, args As SelectionChangedEventArgs)
      Dim converter As New BrushConverter()
      For Each color As String In args.AddedItems
        If GetRectangle(color) Is Nothing Then
          Dim aRect As New Rectangle()
          aRect.Fill = DirectCast(converter.ConvertFrom(color), Brush)
          aRect.Tag = color
          rectanglesPanel.Children.Add(aRect)

        End If
      Next
      For Each color As String In args.RemovedItems
        Dim removedItem As FrameworkElement = GetRectangle(color)
        If removedItem IsNot Nothing Then
          rectanglesPanel.Children.Remove(removedItem)
        End If
      Next
    End Sub

    Private Function GetRectangle(color As String) As FrameworkElement
      For Each rect As FrameworkElement In rectanglesPanel.Children
        If rect.Tag.ToString() = color Then
          Return rect
        End If
      Next

      Return Nothing
    End Function

  End Class

End Namespace
WPF This List Box Allows Items To Be Selected In Groups By Using The S H I F T Key And Mouse Or The C T R L Key And Space Key








16.27.ListBox
16.27.1.Bind String Array Resource to ListBoxBind String Array Resource to ListBox
16.27.2.Use Data Templates to Display Bound DataUse Data Templates to Display Bound Data
16.27.3.CheckBox ListCheckBox List
16.27.4.Convert the contents of a ListBoxItem to an instance of GridLength by using GridLengthConverterConvert the contents of a ListBoxItem to an instance of GridLength by using GridLengthConverter
16.27.5.Use the FontSizeConverter class to convert the content of a ListBoxItem to a value that represents the size of a font.Use the FontSizeConverter class to convert the content of a ListBoxItem to a value that represents the size of a font.
16.27.6.Convert contents of a ListBoxItem to an instance of Thickness by using the ThicknessConverterConvert contents of a ListBoxItem to an instance of Thickness by using the ThicknessConverter
16.27.7.DataTrigger, ListBox and user objectDataTrigger, ListBox and user object
16.27.8.Add selected file to ListBoxAdd selected file to ListBox
16.27.9.This list box allows items to be selected in groups by using the SHIFT key and mouse or the CTRL key and space key.This list box allows items to be selected in groups by using the SHIFT key and mouse or the CTRL key and space key.
16.27.10.Iterate through the selected items and remove each oneIterate through the selected items and remove each one
16.27.11.Ensure there is at least one item selectedEnsure there is at least one item selected