Текстовый блок wpf не понятен при использовании layouttransform - PullRequest
2 голосов
/ 01 августа 2011

Я использую элемент управления TextBlock.Текст в TextBlock четко отображается с поворотом на 0 градусов.

Но если я повернул элемент управления на 90 градусов с помощью LayoutTransform, текст не будет четким.какой-то размытый дисплей.

Есть ли другой способ поворота текста без LayoutTransform или другой способ четкого отображения?

Ответы [ 3 ]

3 голосов
/ 01 августа 2011

попробуйте использовать "UseLayoutRounding = true" на вашем TextBox

0 голосов
/ 29 октября 2018

Установите для свойства TextBlock Foreground значение (например, Black).это сработало в моем проекте, когда я поворачиваю текстовый блок на 90 градусов.

0 голосов
/ 05 апреля 2018

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