もう 1 つのオプションは、コンテンツの周りに矢印ボタンを追加することです。これは、タッチ スクリーン キオスクで大きな効果を発揮するために使用されています。もう少し手間がかかりますが、カスタム コントロールにすることができます。私が持っている唯一のコードは、垂直スクロールをサポートしています。
水平スクロールも簡単に追加できるはずです。以下のコードでは、スクローラーの上下に Less と More という 2 つのボタンがあります。
double Epsilon = .001;
private void Scroller_ScrollChanged(object sender, ScrollChangedEventArgs e)
{
if ( Scroller.ScrollableHeight > 0 ) {
Less.Visibility = Math.Abs(Scroller.VerticalOffset - 0) > Epsilon ? Visibility.Visible : Visibility.Hidden;
More.Visibility = Scroller.VerticalOffset + Scroller.ViewportHeight < Scroller.ExtentHeight ? Visibility.Visible : Visibility.Hidden;
} else {
Less.Visibility = More.Visibility = Visibility.Hidden;
}
if (Scroller.ExtentHeight / Scroller.ViewportHeight > 2)
{
SearchPanel.Visibility = Visibility.Visible;
}
}
private void Less_Click(object sender, RoutedEventArgs e)
{
Sounds.Click();
Scroller.PageUp();
}
private void More_Click(object sender, RoutedEventArgs e)
{
Sounds.Click();
Scroller.PageDown();
}