列表框样式选择不适用于datatemplate

时间:2012-05-16 20:04:46

标签: wpf listbox

我在这里使用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>

但如果我点击某个项目,它就不会被标记为所选项目。 如果我不使用datatemplate一切正常。那么有谁知道为什么? 这是工作示例:

<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>-->

1 个答案:

答案 0 :(得分:1)

DataTemplate

} ListBoxItemListBox中,混淆了选择。

此外,您应该通过ListBoxItem将样式应用于项目。 (据我所知,这仅适用于自动生成的ListBoxItem,如果您直接或通过ItemContainerStyle添加数据,如果直接添加ListBoxItems ItemsSource并且ListBoxItems将被忽略)

另请参阅:Data Templating Overview