Вопрос

Я использую разделитель, чтобы нарисовать вертикальную линию внутри границы.Сначала это было нормально, потому что линию нужно было центрировать, но теперь мне нужно расположить ее в произвольном положении по оси 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>
Это было полезно?

Решение

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

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

Другие советы

Самые простые изменения, которые вы можете сделать, это просто для установки горизонталинга, а затем использовать поля для компенсации сепаратора (по умолчанию 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>

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top