Растяжение части пути xaml - PullRequest
1 голос
/ 27 июля 2011

Я использую Paths для создания настраиваемой границы содержимого для моего приложения, написанного на WPF.То, что я хочу, это чтобы только средняя часть пути растягивалась при растяжении окна (рисунок 2) вместо всего этого (рисунок 3).

Мой первый инстинкт был разделить путь на три частии положить их в сетку.Левый и правый пути останутся неизменными, в то время как средний путь растянется.Проблема в том, что я не могу понять, как обвести обводку целиком, не вставляя ее между тремя путями.

Примечание: Это изображение является справочнымтолько фактическая граница является более сложной, но все же состоит из трех частей.

enter image description here

Ответы [ 3 ]

1 голос
/ 28 июля 2011

Почему бы не использовать сетку с тремя границами?

<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>

Не зная больше о том, что нужно, трудно сказать, какой из них правильный ответ. (Если вы делаете сумасшедшие вещи с обтравочными контурами или интересными формами, первое решение может быть проще.)

1 голос
/ 27 июля 2011

Я бы также использовал решетку, чтобы растянуть центральную часть. Вы пытались обернуть Сетка в Границу? Поскольку это должно создать кисть только вокруг внешней стороны сетки, а не между ячейками.

0 голосов
/ 28 июля 2011

Синтаксис пути определяет, соединяется ли конечная точка хода с начальной точкой.Если данные пути заканчиваются буквой «Z», то конец соединяется с началом.

Если у вас есть буква «Z» в конце данных пути для левой и правой ячеек, попробуйте удалить"Z".

см. Ссылку: http://msdn.microsoft.com/en-us/library/cc189041(v=vs.95).aspx#closecommand

...