最も簡単な解決策は、カスタムスタイルにScrollViewerのようになります:
単に「オート」に垂直スクロールバーの可視性を設定し、上部と下部の「RepeatButton」の部分を除いて、コントロールテンプレートのすべての部分を非表示にします。
ScrollViewerのスタイリングの例はhereですが、私はあなたがクイック検索でより良いものを見つけることができると確信しています。
<ListBox ScrollViewer.ScrollChanged="ListBox_ScrollChanged"
ScrollViewer.VerticalScrollBarVisibility="Hidden" />
そしてScrollChangedイベントを処理するために、このメソッドを追加します:
private void ListBox_ScrollChanged(object sender, ScrollChangedEventArgs e)
{
ButtonScrollUp.Visibility = ButtonScrollDown.Visibility =
((ScrollViewer)e.OriginalSource).ScrollableHeight > 0
? Visibility.Visible
: Visibility.Collapsed;
}
隠しと、このようなListBox.ScrollView.ScrollChangedイベントを処理するListBox.ScrollView.VerticalScrollBarVisibilityを設定
答えは、ScrollViewerの[ComputedVerticalScrollBarVisibility](http://msdn.microsoft.com/en-us/library/system.windows.controls.scrollviewer.computedverticalscrollbarvisibility.aspx)を参照することと関連があるようです。プロパティ。 – Alain