我TextBox
在ScrollViewer
文本更改时运行应该滚动到末尾的操作。
这里xaml
:
<ScrollViewer>
<TextBox IsReadOnly="True" Text="{Binding SomeText}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="TextChanged">
<ac:ScrollToEndAction/>
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBox>
</ScrollViewer>
这里的动作:
public class ScrollToEndAction : TargetedTriggerAction<FrameworkElement>
{
protected override void Invoke(object parameter)
{
TextBox _textBox = (parameter as TextChangedEventArgs).OriginalSource as TextBox;
_textBox.ScrollToEnd();
}
}
这没用。
我尝试通过以下方式更改文本(它有效!):
public class ScrollToEndAction : TargetedTriggerAction<FrameworkElement>
{
protected override void Invoke(object parameter)
{
TextBox _textBox = (parameter as TextChangedEventArgs).OriginalSource as TextBox;
_textBox.Text="Test";
}
}
为什么会这样?