Use ObservableCollection as Resource
<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>
<TextBox Name="tb" Width="140" Height="30"></TextBox>
<ListBox Name="lb" Width="100" Height="55" SelectionChanged="PrintText" SelectionMode="Single">
<ListBoxItem>Item 1</ListBoxItem>
<ListBoxItem>Item 2</ListBoxItem>
<ListBoxItem>Item 3</ListBoxItem>
<ListBoxItem>Item 4</ListBoxItem>
<ListBoxItem>Item 5</ListBoxItem>
<ListBoxItem>Item 6</ListBoxItem>
<ListBoxItem>Item 7</ListBoxItem>
<ListBoxItem>Item 8</ListBoxItem>
<ListBoxItem>Item 9</ListBoxItem>
<ListBoxItem>Item 10</ListBoxItem>
</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("A")
Add("B")
Add("C")
Add("D")
Add("E")
Add("F")
End Sub
End Class
Public Partial Class Pane1
Inherits Canvas
Public Sub New()
MyBase.New()
InitializeComponent()
End Sub
Private Sub PrintText(sender As Object, args As SelectionChangedEventArgs)
Dim lbi As ListBoxItem = TryCast(TryCast(sender, ListBox).SelectedItem, ListBoxItem)
tb.Text = " You selected " & lbi.Content.ToString() & "."
End Sub
End Class
End Namespace
Related examples in the same category