Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF文本块填充正在剪切文本_Wpf_Padding_Textblock - Fatal编程技术网

WPF文本块填充正在剪切文本

WPF文本块填充正在剪切文本,wpf,padding,textblock,Wpf,Padding,Textblock,我在网格中有一个TextBlock,其Padding属性设置为5。有时最后一个字符会被截断,具体取决于Text属性设置为哪个字符串 <UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="SomeClass"> <Scr

我在
网格中有一个
TextBlock
,其
Padding
属性设置为5。有时最后一个字符会被截断,具体取决于
Text
属性设置为哪个字符串

<UserControl
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Class="SomeClass">
    <ScrollViewer Padding="5" VerticalScrollBarVisibility="Auto">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" />
            </Grid.RowDefinitions>
            <Label
                Grid.Row="0" Grid.Column="0"
                Content="SomeLabel"
                HorizontalAlignment="Right"
                HorizontalContentAlignment="Right"
                VerticalAlignment="Center" />
            <TextBlock
                Grid.Row="0" Grid.Column="1"
                HorizontalAlignment="Left"
                Padding="5"
                Text="0x0F"
                TextWrapping="Wrap"
                VerticalAlignment="Top" />
        </Grid>
    </ScrollViewer>
</UserControl>


文本设置为
0x0F
时,
F
不可见。当设置为
0xAB
时,字符串显示正常。将
填充设置为0也会使字符串显示得很好。

将包含文本块的网格列设置为如下自动大小

<Grid>
  <Grid.ColumnDefinitions>
    <ColumnDefinition Width="Auto" />
  </Grid.ColumnDefinitions>
  <TextBlock Grid.COlumn="0" Text="{Binding Path=SomeViewModelProperty}" />
</Grid>


如果将TextBlock上的高度设置为100,F是否会被包装?

您所描述的显然是WPF中的布局错误(可能在TextBlock中)。最后一个字母是否被包装(和剪掉)似乎取决于字符串的实际宽度以及最后一个字母相对于填充大小的大小

我建议你报告这个错误

要解决此问题,您可以使用以下代码(只需在textblock周围放置边框,并在此处设置填充):



只需增加ComboBoxItem的高度,就可以解决问题。

我们需要查看所有XAML,以便了解布局逻辑的错误。我提供了一个完整的示例。这是一个很好的猜测,但没有,不幸的是,我尝试了您建议的方法,而F没有包装。哇,我尝试了您的代码,得到了相同的结果,它会切断F。0x0b和0x0d也会发生这种情况,但其他十六进制数会正确显示。谢谢,我会按照您的建议进行报告。报告时间为
<Border Padding="5" Grid.Row="0" Grid.Column="1">
    <TextBlock  HorizontalAlignment="Left"
        Text="0x0F" TextWrapping="Wrap"
        VerticalAlignment="Top" />
</Border>