我正在使用Paths为我用WPF编写的应用程序构建自定义内容边框。我想要的是在拉伸窗口时只拉伸路径的中间部分(图2)而不是整个窗口(图3)。
我的第一直觉是将路径分成三个部分并将它们放入网格中。左中路径和右路径将保持固定,而中间路径将延伸。问题是,我无法弄清楚如何在整个事物中放置一个笔划,而不是在三条路径之间插入。
注意:此图片仅供参考,实际边框较复杂,但仍由三部分组成。
答案 0 :(得分:1)
我还会使用网格来让中心部分伸展。您是否尝试过在边框中包裹网格?因为这应该只在网格外部创建边框画笔而不是在单元格之间。
答案 1 :(得分:1)
为什么不使用带有三个边框的网格?
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Border Background="Blue" Grid.Column="0" MinWidth="50" CornerRadius="10,0,0,10" BorderBrush="LimeGreen" BorderThickness="2,2,0,2"/>
<Border Background="Red" Grid.Column="1" BorderBrush="LimeGreen" BorderThickness="0,2"/>
<Border Background="Blue" Grid.Column="2" MinWidth="50" CornerRadius="0,10,10,00" BorderThickness="0,2,2,2" BorderBrush="LimeGreen"/>
</Grid>
或者,您可以将网格包裹在边框中:
<Border CornerRadius="10" BorderThickness="1" Background="Blue" BorderBrush="Red">
<Grid Background="Green" Margin="20,0"/>
</Border>
如果不了解需要什么,很难说哪一个是正确的答案。 (如果你正在用剪切路径或有趣的形状做疯狂的事情,第一个解决方案可能会更容易。)
答案 2 :(得分:0)
路径语法指示笔画终点是否连接回起点。如果路径数据以“Z”结尾,则结束连接到开始。
如果左侧和右侧单元格的路径数据末尾有“Z”,请尝试删除“Z”。
参考参考: http://msdn.microsoft.com/en-us/library/cc189041(v=vs.95).aspx#closecommand