最大化文本的WPF问题

最大化文本的WPF问题,wpf,maximize,Wpf,Maximize,我有点麻烦。我希望我的页面通过文本框内的文本最大化,但只能通过文本框的边框最大化。有人能帮我吗 这一点非常重要。我必须得到离边框最左边的像素,就像旋转文本中最右边的像素一样 我在底部为“First line”贴上了XAML代码,“Other line”的代码大小和位置都是固定的,所以我删掉了那个部分 <Viewbox Height="3000" HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Width="Auto"&g

我有点麻烦。我希望我的页面通过文本框内的文本最大化,但只能通过文本框的边框最大化。有人能帮我吗

这一点非常重要。我必须得到离边框最左边的像素,就像旋转文本中最右边的像素一样

我在底部为“First line”贴上了XAML代码,“Other line”的代码大小和位置都是固定的,所以我删掉了那个部分

<Viewbox Height="3000" HorizontalAlignment="Stretch"  VerticalAlignment="Bottom"  Width="Auto">
    <TextBox Text="First line" BorderThickness="0" VerticalContentAlignment="Bottom"  >
        <TextBox.LayoutTransform>
            <RotateTransform Angle="-35"/>
        </TextBox.LayoutTransform>
    </TextBox>
</Viewbox>

编辑:您应该将文本框设置为边框的子项,设置边距,然后旋转边框(而不是文本框)。(请参见注释)


第一行和越来越多的ansd

Set Height=“NaN”,这是您想要的吗?设置Height=“NaN”仍然会最大化文本框边框以适应视图框,但我想要一种最大化的方法,以便在边框或视图框内最大化文本本身。如果更简单的话,我可以使用位图、标签或其他任何东西,只要是只接触页面边框的文本,而不是文本周围的框架。查看链接的图像。顶线是我得到的,底线是我想要的。是的,我试过了,但是根据文本的长度(以及字体的大小),文本会超出页面的边界,因为文本的大小越来越小。好的,我编辑了我的答案。我认为应该将文本框设置为边框的子对象,设置边距,然后旋转边框(而不是文本框)。(使用边框的背景色,以正确设置边距)这种方式比我迄今为止所做的要好得多,但仍然不太理想。仍然需要最左边的像素距离边缘尽可能远。现在大多数文本看起来都不错,但有些字母不太合适。就像文本“Aj”的“j”非常靠近右侧,但是当text=“Aj”时,“A”远离左侧,我可以通过Margin=“-4,-6.1,-4.8,-2”得到最好的结果。如果定位取决于先来的是什么和…,也许你应该有问题地处理它们。我的意思是处理TextChanged事件。所以我想这不是一个简单的方法。要么我必须处理这样一个事实,即我的文本不会以我想要的方式居中,要么我必须为每个第一个和最后一个字母编写程序。太糟糕了。。。是否可以创建一个透明图像,然后遍历每个像素并裁剪第一个/最后一个非透明像素的图像?
<Window ....
    Height="600"
    Width="400">
<Grid>
    <Viewbox 
             HorizontalAlignment="Stretch"
             VerticalAlignment="Stretch">
       <Border Background="AliceBlue">
            <TextBox AcceptsReturn="True"
                     Margin="-4"
                     BorderThickness="0"
                     Background="Transparent">

                <TextBox.Text>
                    First line and more and more ansd
                </TextBox.Text>
            </TextBox>
            <Border.LayoutTransform>
                <RotateTransform Angle="-35" />
            </Border.LayoutTransform>
        </Border>
    </Viewbox>
</Grid>
</Window>