Позиция разделителя WPF
Вопрос
Я использую разделитель, чтобы нарисовать вертикальную линию внутри границы.Сначала это было нормально, потому что линию нужно было центрировать, но теперь мне нужно расположить ее в произвольном положении по оси 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>
Есть много других способов достичь того же визуального эффекта, если у вас есть другие требования.
Не связан с StackOverflow