我尝试使用基于ToolBar.ComboBoxStyleKey的ComboBox。拥有平面设计。 默认情况下,控件没有边框,即在白色背景上只有ToggleButton的可见图标。 当焦点不在ComboBox上时,如何为控件添加边框?
谢谢!
没有焦点:
鼠标悬停:
答案 0 :(得分:1)
WPF中有一个Border控件,你可以使用它来包装你的ComboBox。
<Border Background="GhostWhite" BorderBrush="Gainsboro" BorderThickness="1">
<ComboBox>
...
</CombodBox>
</Border>
http://www.wpf-tutorial.com/misc-controls/the-border-control/
您可以根据组合框是否具有焦点来设置BorderThickness。
答案 1 :(得分:0)
有无数的选择。
围绕组合框(x,y)坐标绘制一个矩形。
制作您自己的自定义组合框,如下所示:CustomCombowithBorder。
在它后面添加一个面板,给面板一个边框,从而模仿一个边框。
等...
修改强>
发现MSDN给出了一个很好的答案,如ComboBox Styling所示。
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ComboBox">
<Grid>
<Border x:Name="ContentPresenterBorder">
<Grid>
<ToggleButton x:Name="DropDownToggle"/>
<ContentPresenter x:Name="ContentPresenter" />
<TextBlock Text=" " />
</ContentPresenter>
</Grid>
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>