2

ここからListBoxとListBoxスタイルを使用しています:http://viblend.com/products/net/wpf/controls/free-wpf-controls.aspx

これは次のようになります。

    <ListBox x:Name="listBox" ItemsSource="{Binding}" Style="{StaticResource Office2010SilverListBoxStyle}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <ListBoxItem Style="{StaticResource Office2010SilverListBoxItemStyle}" Content="{Binding}"/>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

しかし、アイテムをクリックすると、選択されたアイテムとしてマークされません。データテンプレートを使用していない場合は、すべて正常に機能します。それで、なぜ誰かが何か考えを持っていますか?ここに実際の例があります:

<ListBox x:Name="listBox" Style="{StaticResource Office2010SilverListBoxStyle}">
    <ListBoxItem Style="{StaticResource Office2010SilverListBoxItemStyle}">1. Frame</ListBoxItem>
    <ListBoxItem Style="{StaticResource Office2010SilverListBoxItemStyle}">2. Frame</ListBoxItem>
    <ListBoxItem Style="{StaticResource Office2010SilverListBoxItemStyle}">3. Frame</ListBoxItem>
    <ListBoxItem Style="{StaticResource Office2010SilverListBoxItemStyle}">4. Frame</ListBoxItem>
    <ListBoxItem Style="{StaticResource Office2010SilverListBoxItemStyle}">5. Frame</ListBoxItem>
    <ListBoxItem Style="{StaticResource Office2010SilverListBoxItemStyle}">6. Frame</ListBoxItem>
</ListBox>-->
4

1 に答える 1

1

は、コントロールによってすでに作成されているを含めるDataTemplateべきではありませ。この例では、を含むと、選択が混乱します。ListBoxItemListBoxListBoxItemListBoxItem

また、を介してアイテムにスタイルを適用する必要がありますItemContainerStyle。(私が知る限り、ListBoxItemsこれは、直接または経由でデータを追加した場合に作成される自動生成に対してのみ機能します。両方を直接ItemsSource追加した場合、は無視されます)ListBoxItemsDataTemplateItemContainerStyle

参照:データテンプレートの概要

于 2012-05-16T20:07:10.760 に答える