List box that uses data binding to populate the list box items. : ListBox « Windows Presentation Foundation « VB.Net






List box that uses data binding to populate the list box items.

List box that uses data binding to populate the list box items.
     

<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

   
    
    
    
    
  








Related examples in the same category

1.External ListBox style
2.Define ListBox templateDefine ListBox template
3.Set selected index for ListBoxSet selected index for ListBox
4.Bind String Array Resource to ListBoxBind String Array Resource to ListBox
5.ListBox Selected Index, Item, ValueListBox Selected Index, Item, Value
6.ListBox and SelectionModeListBox and SelectionMode
7.ListView using GridView.HeaderTemplate and GridViewColumn.CellTemplate propertiesListView using GridView.HeaderTemplate and GridViewColumn.CellTemplate properties
8.Load the Items in a ListBox AsynchronouslyLoad the Items in a ListBox Asynchronously
9.Change the Appearance of Alternate Items in a ListChange the Appearance of Alternate Items in a List
10.Change the Appearance of a List Item When It's SelectedChange the Appearance of a List Item When It's Selected
11.Use Data Templates to Display Bound Data
12.CheckBox ListCheckBox List
13.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
14.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.
15.ListBox SelectionChanged EventListBox SelectionChanged Event
16.ListBox SelectionMode=SingleListBox SelectionMode=Single
17.Get Selected Item from ListBoxGet Selected Item from ListBox
18.ListBox selection changed eventListBox selection changed event
19.Different Font Family and Size for each ListBoxItemDifferent Font Family and Size for each ListBoxItem
20.Handles ListBoxItem Selected events for the ListBoxItems in the inner ListBox.Handles ListBoxItem Selected events for the ListBoxItems in the inner ListBox.
21.Use Panel as a ListBoxItemUse Panel as a ListBoxItem
22.Create a ListBoxItem, set font, content, add the ListBoxItem to the ListBoxCreate a ListBoxItem, set font, content, add the ListBoxItem to the ListBox
23.Select All ListBox ItemsSelect All ListBox Items
24.Create a style that will produce a horizontal ListBox.Create a style that will produce a horizontal ListBox.
25.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
26.DataTrigger, ListBox and user objectDataTrigger, ListBox and user object
27.Add selected file to ListBoxAdd selected file to ListBox
28.ListBox with Image itemListBox with Image item
29.Get selecte item from ListBoxGet selecte item from ListBox
30.List box with text and non-text content in the list box items.List box with text and non-text content in the list box items.
31.This list box allows multiple user selections.This list box allows multiple user selections.
32.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.
33.Get selected item count from ListboxGet selected item count from Listbox
34.Change HeightChange Height
35.Change MinHeightChange MinHeight
36.View and Select Items Using a ListView and Select Items Using a List
37.Set text to TextBlock for selected list itemSet text to TextBlock for selected list item
38.Iterate through the selected items and remove each oneIterate through the selected items and remove each one
39.Ensure there is at least one item selectedEnsure there is at least one item selected
40.Select All and unselect allSelect All and unselect all
41.Get Item At Index Position [0]Get Item At Index Position [0]