WPF 路径几何;在顶部绘制一个带有居中箭头的框

WPF Path Geometry; drawing a box with a centred arrow on the top

我想画一个简单的盒子,上面有一个“箭头”居中,但我似乎无法让那个箭头居中(如下例所示,箭头总是向左偏移)...

这是我的 XAML(这实际上在模板中,但我认为这不是问题所在)...

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="16" />
        <RowDefinition />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>
    <Rectangle Grid.Row="2"
                Fill="{TemplateBinding Background}" />
    <ContentPresenter Grid.Row="2"
                        Content="{TemplateBinding Content}"
                        ContentTemplate="{TemplateBinding ContentTemplate}"
                        ContentTemplateSelector="{TemplateBinding ContentTemplateSelector}"
                        Margin="{TemplateBinding Padding}"
                        HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                        VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
    <Path HorizontalAlignment="Center"
            Grid.Row="1"
            Fill="{TemplateBinding Background}"
            Data="M -8,0 L 0,-16 8,0" />
</Grid>

ContentPresenter 的“内容”是一个 StackPanel,它可能有也可能没有 TextBlock 子级。

我做错了什么?

只要 StretchNone,路径的 ActualWidthActualHeight(因此它的对齐方式)就不会考虑其几何的部分在负坐标处绘制。

改为

<Path HorizontalAlignment="Center" Data="M 0,0 L 8,-16 16,0" ... />

<Path HorizontalAlignment="Center" Data="M -8,0 L 0,-16 8,0"
      Stretch="Uniform" Width="16" Height="16" ... />