0

我想像这样自定义 WPF 组合框箭头位置

我谷歌它。但我无法得到任何正确答案。

如何自定义组合框箭头?

4

2 回答 2

6

正如@RohitVats 暗示的那样,您需要ControlTemplate为您的ComboBox控件定义一个新的。您可以在 MSDN 上的使用 ControlTemplate 自定义现有控件的外观一ControlTemplate文中了解如何定义新控件。一个好的起点是实现默认设置,然后根据您认为合适的方式对其进行自定义。您可以在 MSDN 的ComboBox Styles and Templates页面中找到默认值。ControlTemplateControlTemplateComboBox

在默认值内ControlTemplate,您将看到一个ControlTemplateToggleButton名为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>
于 2013-11-04T09:54:50.733 回答
1
 <Path.LayoutTransform>
       <RotateTransform Angle="270" ></RotateTransform>
 </Path.LayoutTransform>

这是最简单的旋转方式

于 2014-04-04T05:33:33.103 回答