我在这里使用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>-->
答案 0 :(得分:1)
DataTemplate
ListBoxItem
在ListBox
中,混淆了选择。
此外,您应该通过ListBoxItem
将样式应用于项目。 (据我所知,这仅适用于自动生成的ListBoxItem
,如果您直接或通过ItemContainerStyle
添加数据,如果直接添加ListBoxItems
ItemsSource
并且ListBoxItems
将被忽略)