从聚焦的组合框项目中删除虚线边框

时间:2012-07-03 12:37:26

标签: c# wpf xaml combobox

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

Dotted border

我试图覆盖“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>

我不确定这个边界的来源以及如何摆脱它。

感谢您的想法和提示

2 个答案:

答案 0 :(得分: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>`

答案 1 :(得分:2)

FocusVisualStyle的{​​{1}}设为null

ComboBox