2014-09-30 3 views
0

Я пытаюсь сделать область журнала в своем приложении, и клиент запросил возможность вырезать/вставить сообщения журнала из этой области.WPF: PART_ContentHost не прокручивается

Первоначально я использовал следующую процедуру для настройки области журнала с прокруткой, но это не позволяет пользователю выбрать & копировать текст:

<ScrollViewer DataContext="{StaticResource Log}" 
       Content="{Binding Appender.Notification}" 
       Height="150"> 
    <ScrollViewer.Resources> 
     <Style TargetType="{x:Type ScrollViewer}"> 
      <Setter Property="HorizontalScrollBarVisibility" Value="Auto" /> 
      <Setter Property="VerticalScrollBarVisibility" Value="Auto" /> 
     </Style>      
    </ScrollViewer.Resources> 
</ScrollViewer> 

я нашел this solution создать только для чтения TextBox с Select- в состоянии текст:

<TextBox Name="LoggingTextBox" 
      Height="250" 
      Width="950" 
      DataContext="{StaticResource Log}" 
      Text="{Binding Appender.Notification}" 
      HorizontalScrollBarVisibility="Auto" 
      VerticalScrollBarVisibility="Auto"> 
     <TextBox.Style> 
      <Style TargetType="TextBox"> 
       <Setter Property="Template"> 
        <Setter.Value> 
         <ControlTemplate> 
          <Border x:Name="PART_ContentHost" /> 
         </ControlTemplate> 
        </Setter.Value> 
       </Setter> 
      </Style> 
     </TextBox.Style> 
    </TextBox> 

Это работает, чтобы разрешить выделение текста в области журнала, но прокрутка не работает. Я добавил свойства для * ScrollBarVisibility (не в исходном решении).

Как я могу заставить прокрутку работать, используя этот стиль TextBox?

ответ

1

Исправление довольно просто: просто измените свой Border на ScrollViewer, и вы получите стандартное поведение прокрутки для TextBox.

+0

Отлично, спасибо! – BrianKE

Смежные вопросы