wpf - 如何让箭头指向我的边框?

标签 wpf xaml border polygon

我已经尝试了 100 万件事,我快到了……

我有一个边框,我想要一个箭头向上指向(在我这样做之后,我也会对每一边和底部做同样的事情)。这是我到目前为止所拥有的:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition />
    </Grid.RowDefinitions>
    <Polygon Points="5,0 10,10, 0,10" Stroke="Black" Fill="White" Grid.Row="0" HorizontalAlignment="Center" Margin="0,0,0,-2" Panel.ZIndex="10" StrokeThickness="2" StrokeDashArray="1 0"  />
    <Border Background="#00000000" BorderBrush="Black" BorderThickness="2" CornerRadius="10" Grid.Row="1">

多边形创建了一个完美的箭头,但三角形的底部边框是黑色的,我希望它是白色的。不知道如何让它变成白色,看起来像白色的 BG 流进了箭头。这是到目前为止的样子:

enter image description here

我想摆脱它下面的那条黑线。如果有完全不同的方法我应该尝试,我很感兴趣:)

最佳答案

这有点棘手。将您的三角形包裹在 Grid 内与 ClipToBounds设置为 true .然后再添加一个负底Margin -2 到那个 Grid :

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition />
    </Grid.RowDefinitions>
    <Grid Grid.Row="0" Height="10" ClipToBounds="True" Margin="0,0,0,-2">
        <Polygon Points="5,0 10,10, 0,10" Stroke="Black" Fill="White" HorizontalAlignment="Center"
                 Margin="0,0,0,-2" Panel.ZIndex="10" StrokeThickness="2" StrokeDashArray="1 0"  />
    </Grid>
    <Border Background="#00000000" BorderBrush="Black" BorderThickness="2" CornerRadius="10" Grid.Row="1">
</Grid>

你可能想让你的三角形更大,因为它的一部分将隐藏在 Grid 之外。 .

关于wpf - 如何让箭头指向我的边框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31721890/

相关文章:

wpf - XAML 'NOT' 运算符?

swift - UILabel - 左、上、右圆角的自定义边框

wpf - 将当前窗口作为 CommandParameter 传递

.net - WPF 密码框 : How do I warn a user that Caps Lock is enabled?

c# - 为什么 UI 元素不在 Button Click 事件处理程序中反射(reflect)它们的状态?

c# - 将 StackPanel 绑定(bind)到添加子元素的方法

c# - Xamarin 表单级联样式表 (CSS) 不工作。加载样式文件失败

css - 如何创建模仿 wpf 中的窗口的顶级 xaml

html - 使用 HTML 和 CSS 创建 L 形边框,可能吗?

css - 仅加粗 div 的顶部和底部边框