4

我有一个自定义的 WPF 下拉框。每件事都按预期工作,但是当组合框有焦点时,组合框项目周围有一个虚线边框。我怎样才能摆脱这个边界?

虚线边框

我试图覆盖“FocusVisualStyle”

<Style TargetType="{x:Type ComboBox}">

    ....snip

        <Setter Property="ItemContainerStyle">
        <Setter.Value>
            <Style TargetType="{x:Type ComboBoxItem}">
                <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
            </Style>
        </Setter.Value>
    </Setter>
</Style>

我不确定这个边界来自哪里以及如何摆脱它。

感谢您的想法和提示

4

2 回答 2

3

正如 Meleak 指出的那样,您需要将其设置在ComboBox. 如果您仍想使用样式,可以这样做:

<Window.Resources>
  <Style x:Key="cmbStyle" TargetType="{x:Type ComboBox}">
    <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
   </Style>
</Window.Resources>
<Grid>

    <ComboBox  Style="{StaticResource cmbStyle}">
        <ComboBoxItem FocusVisualStyle="{x:Null}">33</ComboBoxItem>
        <ComboBoxItem>34</ComboBoxItem>
        <ComboBoxItem>334</ComboBoxItem>
    </ComboBox>
 </Grid>`
于 2012-07-03T13:10:54.617 回答
2

设置FocusVisualStyleComboBoxnull

<ComboBox FocusVisualStyle="{x:Null}" ...
于 2012-07-03T13:05:48.123 回答