如何在 WPF 中选择列表中的项时显示焦点矩形



我想在选择项目时显示项目的焦点矩形。

因为 IsFocusedProperty 是只读的,所以我不能用 XAML 做到这一点。

如何显示聚焦矩形...

任何帮助将不胜感激。

焦点矩形是键盘焦点的一部分,当用户使用键盘将焦点设置为输入元素时显示。 我测试了手动设置键盘焦点(使用键盘.焦点()),但它似乎不起作用。

因此,我建议创建一个自定义样式,该样式将在选择ListBoxItem时模拟焦点矩形。 我想出了下面似乎有效的样式。 它与焦点矩形的虚线数组匹配,因此在显示真正的焦点矩形时看起来并不奇怪。

<ControlTemplate TargetType="{x:Type ListBoxItem}">
  <Grid>
    <Border Background="{TemplateBinding Background}">
      <ContentPresenter Margin="{TemplateBinding Padding}"/>
    </Border>
  </Grid>
  <ControlTemplate.Triggers>
    <Trigger Property="IsSelected" Value="True">
      <Setter Property="Background" Value="Green"/>
      <Setter Property="Foreground" Value="White"/>
    </Trigger>
  </ControlTemplate.Triggers>
</ControlTemplate>

这也使您可以更好地控制列表框项的一般显示方式。 您也可以轻松地将其调整为其他列表类型(ListViewItem等)。

相关内容

  • 没有找到相关文章

最新更新