Прокрутка текстового блока

У меня есть 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>

Спасибо!

8
задан Skoder 30 June 2010 в 23:33
поделиться

3 ответа

Возможно, вы захотите обратиться к обсуждению и подтверждению MSFT, что прокрутка текстовых элементов управления все еще находится в стадии разработки на текущем CTP. Бета-версия уже не за горами, надеюсь, тогда будет больше информации об этом.

2
ответ дан 5 December 2019 в 06:22
поделиться

Приведенный ниже код работает: Поскольку ваш дочерний элемент управления (т.е. textblock) имеет высоту и ширину, которые не равны ширине и высоте вашего средства просмотра прокрутки, и, следовательно, полосы прокрутки не отображаются. Я только что дал ту же высоту и ширину, что и средство просмотра прокрутки для элементов управления, определенных внутри него, он работает.

<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>
1
ответ дан 5 December 2019 в 06:22
поделиться

Если вы хотите, чтобы содержимое прокручивалось, убедитесь, что полоса прокрутки видна.

<TextBox Text="{Binding SomethingReallyLong}" 
 TextWrapping="Wrap" 
 VerticalScrollBarVisibility="Visible"/>        
0
ответ дан 5 December 2019 в 06:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: