9

同じ場所にTextBlockとTextboxがあります。ユーザーが使用しているモードに応じて、一方を表示し、もう一方を折りたたみます。これは正常に機能していますが、Textblockをスクロール可能にするにはどうすればよいですか?ScrollViewerを使用する必要があると思いましたが、なぜ機能しないのかわかりません。高さ(自動および固定)をいじってみましたが、スクロールしません。私のxamlはこれです:

<ScrollViewer x:Name="detailsScroller" Height="285" Width="480"  Canvas.Top="76" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
    <Canvas x:Name="infoCanvas" Width="478"  >
     <TextBlock x:Name="textblockInfo" TextWrapping="Wrap"  Width="462" Height="197"  Canvas.Left="8"/>
     <TextBox x:Name="textboxInfo" TextWrapping="Wrap"  Width="478" AcceptsReturn="True" Height="300" Visibility="Collapsed" />
    </Canvas>
</ScrollViewer>

ありがとう!

4

4 に答える 4

23

テキスト ボックスに高さを入力しないでください。これは私にとって完璧に機能しました:

    <ScrollViewer Height="192" HorizontalAlignment="Left" Margin="12,34,0,0" Name="scrollViewer1" VerticalAlignment="Top" Width="404">
        <TextBlock VerticalAlignment="Top"  Name="textBlock1" Text="TextBlock" Width="378" TextWrapping="Wrap" />
    </ScrollViewer> 
于 2011-06-18T17:56:35.447 に答える
2

現在の CTP では、テキスト コントロールのスクロールはまだ進行中の作業であるという議論と MSFTの確認を参照することをお勧めします。ベータ版は遠く離れているべきではありません。

于 2010-07-01T06:14:24.490 に答える
1

以下のコードは機能します: 子コントロール (つまり、テキストブロック) の高さと幅がスクロール ビューアの幅と高さと等しくないため、スクロール バーが表示されません。内部で定義されたコントロールのスクロールビューアと同じ高さと幅を指定しました。

<ScrollViewer x:Name="detailsScroller" Height="285" Width="480"  Canvas.Top="76" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
    <Canvas x:Name="infoCanvas" Height="285" Width="480"  >
     <TextBlock x:Name="textblockInfo" TextWrapping="Wrap"  Height="285" Width="480" Canvas.Left="8"/>
     <TextBox x:Name="textboxInfo" TextWrapping="Wrap"  Width="478" AcceptsReturn="True" Height="300" Visibility="Collapsed" />
    </Canvas>
</ScrollViewer>
于 2010-07-01T07:30:27.727 に答える
0

コンテンツをスクロールする場合は、スクロールバーが表示されていることを確認してください。

<TextBox Text="{Binding SomethingReallyLong}" 
 TextWrapping="Wrap" 
 VerticalScrollBarVisibility="Visible"/>        
于 2010-06-30T23:19:44.720 に答える