Текстовый блок wpf не понятен при использовании layouttransform
Я использую контроль TextBlock. Текст в TextBlock четко отображается с поворотом на 0 градусов.
Но если я повернул элемент управления на 90 градусов, используя LayoutTransform, текст не ясен. какой-то размытый дисплей.
Есть ли другой способ повернуть текст без LayoutTransform или любой другой способ для четкого отображения?
3 ответа
Попробуйте использовать "UseLayoutRounding=true" на вашем TextBox
Задайте для свойства TextBlock Foreground значение (например, Black). это работает над моим проектом, когда я поворачиваю текстовый блок на 90 градусов.
Я знаю, что это старый вопрос, однако, у меня была та же проблема с пользовательским элементом управления, у которого SnapsToDevicePixels = "True" и UseLayoutRounding = "True" с кодом ниже первой метки показывали размытое поле, в то время как нетрансформированный показал текст отлично. Я попытался передать привязки и округлить свойства до иерархии, и, в конце концов, единственное, что исправило это поведение, - это применил UseLayoutRounding = "True" к окну. Применение этого к любой другой дочерней панели или пользовательскому элементу не исправило это.
<UserControl x:Class="MyApp.Controls.Indications"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300"
SnapsToDevicePixels="True"
UseLayoutRounding="True">
<Stackpanel>
<Label
BorderBrush="Black"
BorderThickness="1"
HorizontalAlignment="Center">
<TextBlock
Width="100"
TextAlignment="Center"
Text="Left Outboard Actuator"
TextWrapping="Wrap">
<TextBlock.LayoutTransform>
<RotateTransform
Angle="90"/>
</TextBlock.LayoutTransform>
</TextBlock>
</Label>
<Label
BorderBrush="Black"
BorderThickness="1"
HorizontalAlignment="Center">
<TextBlock
Width="100"
TextAlignment="Center"
Text="Left Outboard Actuator"
TextWrapping="Wrap">
</TextBlock>
</Label>
</Stackpanel>
</UserControl>