Позиция разделителя WPF - PullRequest
       11

Позиция разделителя WPF

6 голосов
/ 30 апреля 2010

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

<Border x:Name="border" ClipToBounds="True" Background="White" BorderBrush="Black" BorderThickness="2">
    <Separator BorderBrush="Black" BorderThickness="2">
        <Separator.LayoutTransform>
            <RotateTransform Angle="90" />
        </Separator.LayoutTransform>
    </Separator>
</Border>

Ответы [ 2 ]

4 голосов
/ 30 апреля 2010

Я не уверен в правильности пути, если он доступен, но если вы не изменяете размер границы, вы можете использовать поле наподобие этого:

<Border x:Name="border" ClipToBounds="True" Background="White" BorderBrush="Black" BorderThickness="2">
            <Separator BorderBrush="Black" BorderThickness="2" Height="2"  Margin="0,0,100,0">
                <Separator.LayoutTransform>
                    <RotateTransform Angle="90" />
                </Separator.LayoutTransform>
            </Separator>
        </Border>
2 голосов
/ 30 апреля 2010

Самое простое изменение, которое вы можете сделать, это просто установить горизонтальное выравнивание, а затем использовать поля для смещения разделителя (по умолчанию 0,2,0,2):

<Border x:Name="border" ClipToBounds="True" Background="White" BorderBrush="Black" BorderThickness="2">
    <Separator BorderBrush="Black" BorderThickness="2" HorizontalAlignment="Left" Margin="20,2,0,2" >
        <Separator.LayoutTransform>
            <RotateTransform Angle="90" />
        </Separator.LayoutTransform>
    </Separator>
</Border>

Существует множество других способов достижения того же визуального эффекта, если у вас есть другие требования.

...