0

データテンプレート内で ListBoxItem のタグメンバーを設定するにはどうすればよいですか? ListBox をデータバインドしており、DataContext から ListBoxItem.Tag に情報を追加しようとしています。ListBoxItem を表示するために DataTemplate を使用しています。

4

1 に答える 1

1

アイテムの DataTemplate で Tag を設定する代わりに、スタイルを通じて設定することを検討する必要があります。スタイルとテンプレートの両方をアイテムに適用でき、それらが互いに干渉することはありません。アイテムは ListBox 内にあるため、それらは自動的に ListBoxItem にラップされ、スタイルでそのタイプをターゲットにすることができます。

ここでは、いくつかの DataTemplate をアイテム (リソースとしてどこかで定義) に適用し、Style を使用して、この ListBox 内の各アイテムのタグ値を設定しています。

        <ListBox ItemsSource="{Binding MyItems}" ItemTemplate="{StaticResource MyDataTemplate}">
            <ListBox.ItemContainerStyle>
                <Style TargetType="{x:Type ListBoxItem}">
                    <Setter Property="Tag"
                            Value="It has a Tag" />
                </Style>
            </ListBox.ItemContainerStyle>
        </ListBox>
于 2009-06-04T15:47:22.643 に答える