如何禁用列表框中的选择?
ItemsControl
除非您需要 的其他方面,否则您ListBox可以ItemsControl改用。它将项目放置在其中ItemsPanel并且没有选择的概念。
ListBox
ItemsPanel
<ItemsControl ItemsSource="{Binding MyItems}" />
默认情况下,ItemsControl不支持其子元素的虚拟化。如果您有很多项目,虚拟化可以减少内存使用并提高性能,在这种情况下,您可以使用方法2ListBox并设置ItemsControl
或者,只需设置 ListBox 的样式,使选择不可见。
<ListBox.Resources> <Style TargetType="ListBoxItem"> <Style.Resources> <!-- SelectedItem with focus --> <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent" /> <!-- SelectedItem without focus --> <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Transparent" /> <!-- SelectedItem text foreground --> <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="Black" /> </Style.Resources> <Setter Property="FocusVisualStyle" Value="{x:Null}" /> </Style> </ListBox.Resources>