XAML WPF仅在2/3边有边框的多边形(三角形)

时间:2017-01-04 14:32:55

标签: c# wpf xaml

我在WPF / XAML中有一个绘制的多边形,如下所示:

    <Polygon
     HorizontalAlignment="Right"
     VerticalAlignment="Top" Margin="0,0,0,0"
     Width="20"
     Height="50"
     Points="0 2,0,0 2,1"
     Fill="Transparent"
     Stretch="Fill" Stroke="#FFFFFF" StrokeThickness="1" />

这会在三角形的三个边上放置一个白色边框。但是,我只希望在两侧(不是左侧,平侧)上有白色边框。在第三方面,我根本不需要边框(这看起来像一个开放的三角形...有点像一个大于标志&gt;)。有没有办法做到这一点?我玩过中风厚度没有运气(不允许你指定每一侧)。

2 个答案:

答案 0 :(得分:3)

一种方法是使用Path而不是多边形。类似的东西:

export default (sequelize, DataTypes) => sequelize.define('TableA',
    {
        // Attributes omitted..
    },
    {
        classMethods: {
            associate ({
                TableB,
                TableC
            }) {
                this.belongsTo(TableB, {
                    foreignKey: 'ColumnA',
                    targetKey: 'ColumnB'
                });

                this.belongsTo(TableC, {
                    foreignKey: 'ColumnA',
                    targetKey: 'ColumnC'
                });
            },
            attachScope ({
                TableB,
                TableC
            }) {
                this.addScope('defaultScope', {
                    attributes: [
                        ...Object.keys(this.attributes),
                        [
                            sequelize.fn(
                                'COALESCE',
                                sequelize.col('[TableC].[ColumnC]'),
                                sequelize.col('[TableA].[ColumnA]')
                            ),
                            'ColumnA'
                        ]
                    ],
                    include: [
                        {
                            model: TableB,
                            where: {
                                ColumnB: sequelize.fn(
                                    'COALESCE',
                                    sequelize.col('[TableC].[ColumnC]'),
                                    sequelize.col('[TableA].[ColumnA]')
                                )
                            },
                            required: false
                        },
                        {
                            model: TableC,
                            required: false
                        }
                    ],
                    required: false
                }, { override: true });
            }
        }
    }
);

你可能需要稍微调整端点,但它应该让你非常接近你所追求的。

答案 1 :(得分:2)

要创建具有部分描边的填充形状,请使用如下的PathGeometry:

{{1}}