方法 : ItemsControl にデータを追加する

更新 : 2007 年 11 月

ItemsControl には設定可能な ItemsSource プロパティがあり、これを使用して ItemsControl にデータを追加できます。ItemsControl 内の項目は ItemCollection 型です。ListBox に追加する Colors という名前の ObservableCollection<T> を作成する方法を次の例に示します。

使用例

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 class myColors : ObservableCollection<string>
{
    public myColors()
    {
        Add("LightBlue");
        Add("Pink");
        Add("Red");
        Add("Purple");
        Add("Blue");
        Add("Green");
    }
}

コレクションを作成したら、そのコレクションを ListBox などの ItemsControl にバインドできます。ObjectDataProvider を作成することによりリスト ボックスに追加するコレクションを作成し、そのコレクションを ItemsSource プロパティを使用して ListBox にバインドする方法を次の例に示します。

<Canvas.Resources>
  <src:myColors x:Key="Colors"/>
</Canvas.Resources>
<ListBox Name="myListBox" HorizontalAlignment="Left" SelectionMode="Extended" 
      Width="265" Height="55" Background="HoneyDew" SelectionChanged="myListBox_SelectionChanged"
      ItemsSource="{Binding Source={StaticResource Colors}}" IsSynchronizedWithCurrentItem="true">
</ListBox>

サンプル全体については、「ListBox のサンプル」を参照してください。