wpf - 增加StrokeThickness,但保持Path的尺寸

标签 wpf silverlight xaml geometry

我有一个Path,通常其StrokeThickness为1。在某些情况下,它的StrokeThickness必须为10。增加笔触粗细时,我不希望路径占用任何额外的空间。

默认情况下,仅增加StrokeThickness会增加路径的渲染大小。这样就得到了类似的结果(蓝色轮廓超出了黑色边界):

这是我要实现的目标(蓝色轮廓留在黑色边界内):

我可以想到两种数学方法来补偿增加的StrokeWidth:

  • 向内手动调整三角形的点。
  • 在路径的几何图形上使用ScaleTransform。

  • 这两个都有些问题/复杂。有没有更简单的方法?

    最佳答案

    您可以按自己的几何形状裁剪路径,如下所示:

    <Path ... Clip="{Binding Data, RelativeSource={RelativeSource Self}}"/>
    

    但是您将需要将StrokeThickness加倍,因为只有一半的笔划可见。

    关于wpf - 增加StrokeThickness,但保持Path的尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10594315/

    相关文章:

    c# - 从列表框项目选择中排除边距

    c# - 如何在列表框wp7中实现搜索?

    c# - 如何实现带图像但没有边框的按钮?

    c# - 从列表中填充 WrapPanel

    wpf - 管理拼写检查字典 WPF

    wpf - 在WPF MVVM项目的解决方案资源管理器中移动XAML文件

    c# - 在 WPF 中叠加两个位图图像

    silverlight - Silverlight 4 中 TreeView 的滚动行为

    .net - 为什么不同版本的 Silverlight 程序集具有相同的版本号?

    silverlight - 在 silverlight 中从 UIElement 中移除焦点