2

我正在使用 TextBlock 控件。TextBlock 中的文本以 0 度旋转清晰显示。

但是如果我使用 LayoutTransform 将控件旋转到 90 度,文本就不清楚了。一些模糊的显示。

有没有其他方法可以在没有 LayoutTransform 或任何其他清晰显示的情况下旋转文本?

4

3 回答 3

3

尝试在 TextBox 上使用“UseLayoutRounding=true”

于 2011-08-01T09:39:15.347 回答
0

我知道这是一个老问题,但是,我对具有 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>
于 2018-04-05T09:57:48.850 回答
0

将 TextBlock 的 Foreground 属性设置为一个值(如 Black)将被清除。当我将文本块旋转 90 度时,它对我的​​项目有效。

于 2018-10-29T05:55:25.920 回答