2016-12-21 9 views
1

ListBoxItemが非常に長い場合、ListBoxListBoxItemの最後までスクロールできない問題が発生しているWPFで作業しています。私はListBoxは、テキストを表示するには、スクロールダウンできるかどうかを確認するために、非常に長いテキストの末尾に123を入れListBoxは長いListBoxItemにスクロールできません

<Grid> 
    <ListBox ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollBarVisibility="Disabled"> 
     <ListBoxItem> 
      <TextBlock Text="abc"/> 
     </ListBoxItem> 
     <ListBoxItem> 
      <TextBlock Text="VerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylong123" TextWrapping="Wrap"/> 
     </ListBoxItem> 
    </ListBox> 
</Grid> 

注意:以下のコードです。しかし、これは私がスクロールダウンしたときに、私が見たものである。 enter image description here

私は(TextBlock「の末尾に「123」を参照してください)さらに低いスクロールすることができるようにするために何をすべき

も、私はListBoxItem/Textを指したときにスクロールすることができるように、マウスのホイールを持っていると思い

答えて

0

をあなたは自分のListBoxScrollViewerの内側に配置する必要があります。

<ScrollViewer> 
    <ListBox ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollBarVisibility="Disabled"> 
     <ListBoxItem> 
      <TextBlock Text="abc"/> 
     </ListBoxItem> 
     <ListBoxItem> 
      <TextBlock Text="VerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylong123" TextWrapping="Wrap"/> 
     </ListBoxItem> 
    </ListBox> 
</ScrollViewer> 

編集:あなたのマウスホイールのスクロールは、このようなあなたのScrollViewerPreviewMouseWheelイベントを追加したい場合は、次の

<ScrollViewer PreviewMouseWheel="UIElement_OnPreviewMouseWheel"> 

そして:

private void UIElement_OnPreviewMouseWheel(object sender, MouseWheelEventArgs e) 
{ 
    ScrollViewer scv = (ScrollViewer)sender; 
    scv.ScrollToVerticalOffset(scv.VerticalOffset - e.Delta); 
    e.Handled = true; 
} 
+0

これはトリックでしたが、マウスがテキストを指しているときにマウスホイールのスクロールを行う方法もありますか? – kurakura88

+0

@ kurakura88スクロールバーの上にマウスを移動し、マウスを回転させるだけです。 –

+0

まあ、私はマウスがテキストを指しているときにスクロールできるようにしたいので、私には最良の選択肢ではありません。しかし、ありがとう! – kurakura88

-2

ラップあなたScrollViewer

内部 ListBox
<Grid> 
    <ScrollViewer VerticalScrollBarVisibility="Auto"> 
     <ListBox ScrollViewer.HorizontalScrollBarVisibility="Disabled"> 
      <ListBoxItem> 
       <TextBlock Text="abc"/> 
      </ListBoxItem> 
      <ListBoxItem> 
       <TextBlock Text="VerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylongVerylong123" TextWrapping="Wrap"/> 
      </ListBoxItem> 
     </ListBox> 
    </ScrollViewer> 
</Grid> 
+0

それはトリックでしたが、マウスがテキストを指しているときにマウスホイールをスクロールする方法もありますか? – kurakura88

+0

@ kurakura88 downvoteを教えてください? – Alex

+0

私はdownvoteしなかったと言った:( – kurakura88

1

You c試して、

ScrollViewer.CanContentScroll="False" 

が、仮想化のコストと、 falseにCanContentScrollを設定するには、パフォーマンス上の問題を引き起こす可能性のListBoxの仮想化を無効にします。 link - アレックス

+0

これは完璧です! – kurakura88

+2

CanContentScrollをfalseに設定すると、ListBoxの仮想化が無効になり、パフォーマンス上の問題が発生する可能性があります。https://msdn.microsoft.com/en-us/library/cc716879(v = vs.110).aspx – Alex

+0

@Alexでは、IsVirtualizingをtrueに設定することでUI仮想化を再度有効にすることができます。 – kurakura88

関連する問題