我想像这样自定义 WPF 组合框箭头位置
我谷歌它。但我无法得到任何正确答案。
如何自定义组合框箭头?
正如@RohitVats 暗示的那样,您需要ControlTemplate
为您的ComboBox
控件定义一个新的。您可以在 MSDN 上的使用 ControlTemplate 自定义现有控件的外观一ControlTemplate
文中了解如何定义新控件。一个好的起点是实现默认设置,然后根据您认为合适的方式对其进行自定义。您可以在 MSDN 的ComboBox Styles and Templates页面中找到默认值。ControlTemplate
ControlTemplate
ComboBox
在默认值内ControlTemplate
,您将看到一个ControlTemplate
为ToggleButton
名为ComboBoxToggleButton
. 在那里ControlTemplate
,您会找到一个Path
名为Arrow
...的部分,即您要替换的部分:
<Path x:Name="Arrow"
Grid.Column="1"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Data="M 0 0 L 4 4 L 8 0 Z" >
<Path.Fill>
<SolidColorBrush Color="{DynamicResource GlyphColor}"/>
</Path.Fill>
</Path>
<Path.LayoutTransform>
<RotateTransform Angle="270" ></RotateTransform>
</Path.LayoutTransform>
这是最简单的旋转方式