私はこの非常に単純な 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 を完全に削除しても、クリッピングは残っているので、彼のせいでもありません。