UIElement
特定のスクロール効果から特定のものを除外する方法はありますか? 列ヘッダー要素の下にグリッド要素があります。グリッドを完全にスクロールしたいのですが、ヘッダーは水平スクロールのみの影響を受けるようにします。下にスクロールしても常に一番上に表示されるようにします。
これは、私の説明が意味をなさない場合に備えて説明するために作成した mspaint です。
UIElement
特定のスクロール効果から特定のものを除外する方法はありますか? 列ヘッダー要素の下にグリッド要素があります。グリッドを完全にスクロールしたいのですが、ヘッダーは水平スクロールのみの影響を受けるようにします。下にスクロールしても常に一番上に表示されるようにします。
これは、私の説明が意味をなさない場合に備えて説明するために作成した mspaint です。
スクロール ビューアーを緑色の行内に移動してから、ヘッダー用に別のスクロール ビューアーを用意してください。
次に、すべてを親コンテナーにラップします
以下のようなので
<Grid>
<HeaderControl>
<ScrollViewer />
</HeaderControl>
<BodyControl>
<ScrollViewer />
</BodyContent>
</Grid>
それらを 1 つのスクロール ビューアーにまとめるのは非常に複雑です。それを2つの異なるスクロールビューアに分割すると、問題のIMOが簡素化されます.
ヘッダーとグリッドの両方を含み、水平スクロールのみを処理する外側のスクロール ビューアーを 2 つ使用するとどうなるでしょうか。
次に、グリッド自体を、グリッドの垂直スクロールのみを処理する別のスクロール ビューアにラップできます。例えば:
<ScrollViewer VerticalScrollBarVisibility="Disabled">
<!-- Header -->
<Grid>
</Grid>
<ScrollViewer HorizontalScrollBarVisibility="Hidden">
<!-- Content -->
<Grid>
</Grid>
<ScrollViewer />
</Grid>
2 つの可視性設定について 100% 確信があるわけではありませんが、何が機能するかを確認するには、それらをいじる必要があるかもしれません。