我有一个不会实际改变边框颜色的边框。这是我的组合框的XAML。有什么想法吗?
<ComboBox IsEditable="True" IsReadOnly="False"
Text="{Binding Model.Number}" ItemsSource="{Binding Item}"
SelectedItem="{Binding Model.Number}"
VerticalAlignment="Top"
BorderBrush="Red"
BorderThickness="2">
</ComboBox>
答案 0 :(得分:2)
您需要修改ControlTemplate
的{{1}}才能更改其边框颜色。您可以在此处详细了解原因:https://blog.magnusmontin.net/2014/04/30/changing-the-background-colour-of-a-combobox-in-wpf-on-windows-8/。
您可以通过在Visual Studio中以设计模式右键单击ComboBox
元素将默认模板复制到XAML标记中,然后选择&#34;编辑模板&#34; - &gt;&#34;编辑副本......&#34;然后根据您的要求进行修改。
引用了很多XAML,但是在这里。查找名为&#34; ComboBox.Static.Editable.Border&#34;的资源。并更改此ComboBox
属性以更改可编辑Color
的边框颜色。别忘了添加对PresentationFramework.Aero2.dll的引用。
ComboBox
还应该提到的是,Windows上的不同版本之间的默认模板不同。以上内容适用于Windows 10。
不,没有办法通过简单地设置属性或做类似的事情来改变边框颜色:)你必须修改模板。
答案 1 :(得分:2)
如果您只想在ComboBox
(或任何其他控件)周围显示红色边框,则可以使用Border
。
<Border BorderBrush="Red"
BorderThickness="2">
<ComboBox IsEditable="True"
IsReadOnly="False"
Text="{Binding Model.Number}"
ItemsSource="{Binding Item}"
SelectedItem="{Binding Model.Number}"
VerticalAlignment="Top"></ComboBox>
</Border>