首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在WPF中实现虚线或虚线边框?

如何在WPF中实现虚线或虚线边框?
EN

Stack Overflow用户
提问于 2011-06-01 09:42:22
回答 5查看 69.7K关注 0票数 78

我有一个正在应用StyleListViewItem,我想把一条灰色虚线作为底部的Border

我如何在WPF中做到这一点?我只能看到纯色画笔。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-07-03 01:00:20

这在我们的应用程序中工作得很好,允许我们使用真正的边框,而不是摆弄矩形:

代码语言:javascript
复制
<Border BorderThickness="1,0,1,1">
   <Border.BorderBrush>
      <DrawingBrush Viewport="0,0,8,8" ViewportUnits="Absolute" TileMode="Tile">
         <DrawingBrush.Drawing>
            <DrawingGroup>
               <GeometryDrawing Brush="Black">
                  <GeometryDrawing.Geometry>
                     <GeometryGroup>
                        <RectangleGeometry Rect="0,0,50,50" />
                        <RectangleGeometry Rect="50,50,50,50" />
                     </GeometryGroup>
                  </GeometryDrawing.Geometry>
               </GeometryDrawing>
            </DrawingGroup>
         </DrawingBrush.Drawing>
      </DrawingBrush>
   </Border.BorderBrush>

   <TextBlock Text="Content Goes Here!" Margin="5"/>
</Border>

请注意,视口确定线中虚线的大小。在这种情况下,它会生成8个像素的破折号。Viewport="0,0,4,4“会给你四个像素的破折号。

票数 121
EN

Stack Overflow用户

发布于 2011-06-01 12:12:15

您可以使用矩形创建虚线或虚线,如以下代码所示

代码语言:javascript
复制
<Rectangle Stroke="#FF000000" Height="1" StrokeThickness="1" StrokeDashArray="4 4"
                                                       SnapsToDevicePixels="True"/>

开始使用它,并根据您的场景自定义列表视图

票数 104
EN

Stack Overflow用户

发布于 2017-11-15 13:40:16

参加聚会有点晚了,但下面的解决方案对我很有效。它比其他两种解决方案都稍微简单/更好:

代码语言:javascript
复制
<Border BorderThickness="1">
  <Border.BorderBrush>
    <VisualBrush>
      <VisualBrush.Visual>
        <Rectangle StrokeDashArray="4 2" Stroke="Gray" StrokeThickness="1"
                  Width="{Binding RelativeSource={RelativeSource AncestorType={x:Type Border}}, Path=ActualWidth}"
                  Height="{Binding RelativeSource={RelativeSource AncestorType={x:Type Border}}, Path=ActualHeight}"/>
      </VisualBrush.Visual>
    </VisualBrush>
  </Border.BorderBrush>

  <TextBlock Text="Whatever" />
</Border>
票数 31
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6195395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档