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>