ScrollViewer
は任意のコンテンツをスクロールできるため、論理スクロール、つまりピクセルではなくラインでのサポートが必要な場合を除き、IScrollInfoを実装する必要はありません。
カスタムコントロールがMeasureOverride
を実装していない限り、レイアウトの測定段階には参加せず、ScrollViewer
はスクロール可能領域を大きくしたいとは知らないでしょう。
<DockPanel>
<ScrollViewer Height="200" Width="250" HorizontalScrollBarVisibility="Visible">
<Grid Height="400" Width="400">
<Grid.Background>
<DrawingBrush x:Name="GridBrush"
Viewport="0,0,10,10" ViewportUnits="Absolute" TileMode="Tile">
<DrawingBrush.Drawing>
<DrawingGroup>
<GeometryDrawing Brush="#CCCCFF">
<GeometryDrawing.Geometry>
<RectangleGeometry Rect="0,0 10,1" />
</GeometryDrawing.Geometry>
</GeometryDrawing>
<GeometryDrawing Brush="#CCCCFF">
<GeometryDrawing.Geometry>
<RectangleGeometry Rect="0,0 1,10" />
</GeometryDrawing.Geometry>
</GeometryDrawing>
</DrawingGroup>
</DrawingBrush.Drawing>
</DrawingBrush>
</Grid.Background>
</Grid>
</ScrollViewer>
</DockPanel>
こんにちはケント:ここ
は、グラフ用紙の背景とスクロール可能
Grid
のcomple XAMLのみの例です。いいえ、私はその方法をオーバーライドしていません、私が言ったもの(OnRender)だけです。私のカスタムコントロールは、説明されているより少し複雑ですので、コードを投稿するのはちょっと混乱します。 –