У меня есть ScrollViewer (name = "master") внутри StackPanel с некоторыми примерами границ или прямоугольников, а также TextBox, который имеет больше текста, чем отображается, поэтому TextBox можно прокручивать.Когда вы прокручиваете TextBox и достигаете верхней нижней границы, ScrollViewer, который находится в шаблоне TextBox (ScrollViewer x: Name = "PART_ContentHost"), направляет прокрутку к основному ScrollViewer снаружи ("master").
можно ли отредактировать шаблон TextBox для облегчения этого поведения?
Один из способов - это сочетание с другим ScrollViewer в шаблоне, это работает нормально, но увидеть его больше невозможновыбор, так что это не решение.
У вас есть другие идеи?
<Style x:Key="TextBoxStyle1" TargetType="{x:Type TextBox}">
<Setter Property="VerticalScrollBarVisibility" Value="Auto"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TextBox}">
<ScrollViewer x:Name="PART_ContentHost" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<ScrollViewer Name="master" Height="71" Width="164" HorizontalAlignment="Right" Margin="0,0,38.666,28.833" VerticalAlignment="Bottom">
<StackPanel Orientation="Vertical" Width="121">
<Rectangle Fill="red" Height="45" Stroke="Black"/>
<Rectangle Fill="red" Height="45" Stroke="Black"/>
<Rectangle Fill="red" Height="45" Stroke="Black"/>
<Rectangle Fill="red" Height="45" Stroke="Black"/>
<TextBox Text="TextBox sydxr gs dgh drz h we rths dretghe dtrzuj hwesrtgh
bdnftzh srdztj ser tghbed5rsetzhnrd hserdfgcjmnjs egrfhfn dshgrdxthgj" TextWrapping="Wrap" Height="67" Style="{StaticResource detail_text}" />
<Rectangle Fill="red" Height="45" Stroke="Black"/>
<Rectangle Fill="red" Height="45" Stroke="Black"/>
</StackPanel>
</ScrollViewer>
Большое спасибо.