我有这个非常简单的 ChildWindow:
<Grid x:Name="LayoutRoot" Margin="2">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Button x:Name="CancelButton" Content="Cancel" Click="CancelButton_Click" Width="75" Height="23" HorizontalAlignment="Right" Margin="0,12,0,0" Grid.Row="1" />
<Button x:Name="OKButton" Content="OK" Click="OKButton_Click" Width="75" Height="23" HorizontalAlignment="Right" Margin="0,12,79,0" Grid.Row="1" />
<ScrollViewer Width="378">
<StackPanel>
<TextBlock x:Name="txtFracture" HorizontalAlignment="Left" Margin="10,10,10,10" TextWrapping="Wrap" VerticalAlignment="Top" Width="358"/>
</StackPanel>
</ScrollViewer>
</Grid>
我的问题是 TextBlock 中的文本在右侧被剪裁了。(我最初没有 StackPanel ——那只是一个实验。)我在 Margin.Right 中添加了越来越多的内容,但这并没有帮助。滚动条本身并没有踩到文本,文本只是在到达块的右侧时下降了一堆像素。有时,甚至不是整个字母都被剪掉了。看到什么了吗?
此外,如果我将 HorizontalAlignment 从 Left 更改为 Center,我会在块的两侧得到像素剪裁。
此外,如果我完全删除 ScrollViewer,剪辑仍然存在,所以这也不是他的错。