我有一个自定义的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>
我不确定这个边界的来源以及如何摆脱它。
感谢您的想法和提示
答案 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