2015-04-23 4 views
0

У меня есть стековая панель, как в следующем.WPF _ TextBlock Вертикальный запрос ScrollBar

<Stackpanel> 
     <Grid> 
      <Grid.RowDefinitions> 
       <RowDefinition/> 
       <RowDefinition/> 
      </Grid.RowDefinitions> 

     < TextBlock Text="SomeText" Grid.Row="0"/> 

     <ScrollViewer Grid.Row="1" VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Disabled" > 

      <TextBlock Text="Some Other Text"/> 
     </ScrollViewer> 
    </Grid> 
    </StackPanel> 

Я хочу, чтобы второй текстовый блок имел вертикальную полосу прокрутки. Но он не показывает вертикальную полосу прокрутки. Кто-нибудь знает, в чем проблема?

+0

Он покажет полосу прокрутки, как это, установите высоту TextBlock 2, чтобы быть уверенными, но это будет отключено, поскольку нет ничего в средстве просмотра прокрутки для прокрутки – Muds

+0

объяснить ваше требование первого, что может дать нам представление о том о том, что вы пытаетесь сделать, потому что это не выглядит правильным подходом. – Muds

ответ

0

Попробуйте что-то вроде этого (установить ScrollViewer ширину и высоту и TextWrapping в TextBox):

<ScrollViewer Grid.Row="1" VerticalScrollBarVisibility="Visible" 
       HorizontalScrollBarVisibility="Disabled" 
       Width="70" Height="50"> 
    <TextBlock Text="Some Other Text tststssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss" 
       TextWrapping="Wrap"/> 
</ScrollViewer> 
0
  1. Избавиться от stackpanel
  2. Добавить Height сек в RowDefinition s
  3. Набор TextWrapping для TextBlock

Так что ваш код должен выглядеть следующим образом:

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto"/> 
     <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 

    <TextBlock Text="SomeText" Grid.Row="0"/> 

    <ScrollViewer Grid.Row="1" VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Disabled" > 
     <TextBlock TextWrapping="Wrap" Text="Some Other TextSome Other TextSome Other TextSome Other TextSome Other TextSome Other TextSome Other TextSome Other TextSome Other TextSome Other TextSome Other TextSome Other TextSome Other TextSome Other Text"/> 
    </ScrollViewer> 
</Grid> 
2

Это один рабочий Попробуйте .cs страницу добавьте эту строку txt1.VerticalScrollBarVisibility = ScrollBarVisibility.Auto;

<Grid x:Name="LayoutRoot"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition /> 
     <ColumnDefinition /> 
     </Grid.ColumnDefinitions> 
    <ScrollViewer> 
     <StackPanel x:Name="RightPanel" 
        Margin="5,0" 
        ScrollViewer.HorizontalScrollBarVisibility="Visible" 
        ScrollViewer.VerticalScrollBarVisibility="Visible"> 
      <TextBox TextWrapping="Wrap" Height="50" x:Name="txt1" Text="Some Other TextSome Other TextSome Other TextSome Other TextSome Other TextSome Other TextSome Other TextSome Other TextSome Other TextSome Other TextSome Other TextSome Other TextSome Other TextSome Other Text"/> 
     </StackPanel> 
    </ScrollViewer> 
</Grid>