Заполните "угловой луч" границы - PullRequest
3 голосов
/ 09 ноября 2011

Надеюсь, что мой вопрос достаточно прост :) У меня есть ГРАНИЦА в качестве основного контейнера с некоторым радиусом угла.Внутри него есть СЕТКА, и если я хочу установить какой-либо цвет фона на сетку - уродливые части за пределами углов становятся ...

Итак, как мне установить мою ГРАНИЦУ какглобальный контейнер и все внутри остается внутри?

Спасибо!

Ответы [ 2 ]

6 голосов
/ 09 ноября 2011

См. Следующий вопрос: Как сделать так, чтобы содержимое рамки с закругленными углами также было закруглено?

ClippingBorder из ответа делает очень хорошую работу в этом. Вот сравнение между обычными Border и ClippingBorder.

enter image description here

<StackPanel Orientation="Horizontal">
    <Border CornerRadius="20,20,20,20"
            BorderThickness="4"
            BorderBrush="Black"
            Width="50"
            Height="50">
        <Grid Background="Red"/>
    </Border>
    <controls:ClippingBorder CornerRadius="20,20,20,20"
                             BorderThickness="4"
                             BorderBrush="Black"
                             Width="50"
                             Height="50"
                             Margin="20,0,0,0">
        <Grid Background="Red"/>
    </controls:ClippingBorder>
</StackPanel>
0 голосов
/ 09 ноября 2011

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

<Border CornerRadius="10" 
        BorderBrush="Black" 
        BorderThickness="5" 
        Background="Green">
    <Grid Background="Red" 
          Margin="2.5">

    </Grid>
</Border>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...