我正在嘗試創建一個填充了水平線或垂直線的矩形。 矩形的寬度是動態的,所以我不能使用圖像畫筆。 如果有人知道任何解決方案,請讓我知道。WPF填充水平線或垂直線的矩形
5
A
回答
11
我想出了一個簡單的方法,最後,我用下面的視覺刷資源來填充矩形水平,垂直或垂直虛線分別
<!--for horizontal lines-->
<VisualBrush
x:Key="HorizontalLines"
TileMode="Tile" Viewport="0,0,4,4"
ViewportUnits="Absolute" Viewbox="0,0,10,10"
ViewboxUnits="Absolute">
<VisualBrush.Visual>
<Canvas>
<Path Stroke="Black" Data="M 0 10 l 10 0" />
</Canvas>
</VisualBrush.Visual>
</VisualBrush>
<!--For vertical lines-->
<VisualBrush
x:Key="VerticalLines"
TileMode="Tile" Viewport="0,0,4,4"
ViewportUnits="Absolute" Viewbox="0,0,10,10"
ViewboxUnits="Absolute">
<VisualBrush.Visual>
<Canvas >
<Path Stroke="Black" Data="M 0 0 l 0 10" />
</Canvas>
</VisualBrush.Visual>
</VisualBrush>
<!--For dotted vertical lines-->
<VisualBrush
x:Key="DottedVerticalLinesWithFill"
TileMode="Tile" Viewport="0,0,10,10"
ViewportUnits="Absolute" Viewbox="0,0,10,10"
ViewboxUnits="Absolute">
<VisualBrush.Visual>
<Canvas>
<Path Stroke="Purple" Data="M 0 5l 0 -10" />
</Canvas>
</VisualBrush.Visual>
</VisualBrush>
0
您是否嘗試過使用TileBrush?
0
ImageBrush
派生自TileBrush
因此您可以使用Viewport
屬性重複圖像。一個例子見this MSDN page。
+0
我無法想象這將如何工作,基本TileMode本身並不適合我這裏是一個代碼片段...
6
您可以輕鬆地用一個LinearGradientBrush做到這一點:
<Rectangle Width="100" Height="100">
<Rectangle.Fill>
<LinearGradientBrush SpreadMethod="Reflect" StartPoint="0 0" EndPoint="0 0.05">
<GradientStop Offset="0.5" Color="Black"/>
<GradientStop Offset="0.5" Color="White"/>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
您控制線的厚度和方向與端點屬性。
+0
此方法僅適用於固定尺寸的形狀(上例爲100x100矩形)。如果形狀可以伸展,那麼破折號的大小也會伸展。這通常不是你想要的。 – 2017-07-31 12:19:45
相關問題
- 1. WPF水平列表框垂直填充
- 2. Listview水平垂直線visibitly WPF
- 3. 水平線填充
- 4. 使用垂直數據的填充柄獲得水平線
- 5. 水平垂直只有線
- 6. GridBagConstraints同時填充垂直和水平線
- 7. 水平或垂直WPF線限制爲125,000像素?
- 8. 砌體垂直填充前水平
- 9. 在iOS中使用觸摸繪製水平線或垂直線
- 10. rCharts Polychart:將水平線或垂直線添加到繪圖
- 11. 水平或垂直
- 12. 垂直或水平
- 13. 水平/垂直線的情節
- 14. 用於水平/垂直線的FabricJs targetFindTolerance
- 15. matplotlib中的垂直和水平線
- 16. 直線,但不一定是水平線或垂直線,在HTML中
- 17. 填充邊界的垂直或水平中心圖像
- 18. WPF中水平垂直WrapPanel
- 19. 填充垂直矩陣Java
- 20. 繪製單點線圖上的虛線垂直和水平線
- 21. 創建垂直和水平「刪除線」
- 22. 劃分垂直和水平線/視圖
- 23. 計數水平和垂直線圖像
- 24. 垂直和水平同步線
- 25. 查找回文以2D矩陣(水平,垂直,對角線)
- 26. 將垂直線添加到堆疊的水平條形圖
- 27. 搜索矩陣對角線,垂直和水平形成一個點
- 28. CSS水平線或垂直線小於div的高度或寬度
- 29. 如何在間隔條形圖中繪製水平和垂直線條 - oxyplot - WPF
- 30. 延長chart.js水平條形圖以包括一條垂直線
糾正我,如果我錯了,你是說我應該使用ImageDrawing和DrawingBrush TILEMODE設置爲「磚」 ? – Pravin 2010-05-20 15:44:44
將拉伸設置爲填充,否則無法使用,因爲它將始終使用圖像的默認尺寸。 – 2010-05-20 18:31:02