我有一个由滚动查看器包装的文本框。当文本框的文本发生变化时,是否有自动向下滚动到底部的方法?我希望不要违反mvvm规则。
<ScrollViewer x:Name="LogSV" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
    <TextBox x:Name="LogText" Text="{Binding Log}" IsReadOnly="True" Focusable="False"/>
</ScrollViewer>发布于 2022-10-20 08:18:13
您可以订阅TextBox的TextBox事件,如果属性名为Text,则可以更改滚动。
private readonly ScrollViewer _scrollViewer;
public UserControl()
{
   InitializeComponent();
   this.FindControl<TextBox>("LogText").PropertyChanged += TextBoxPropertyChanged;
   _scrollViewer = this.FindControl<ScrollViewer>("LogSV");
}
private void TextBoxPropertyChanged(object? sender, AvaloniaPropertyChangedEventArgs e)
{
   if(e.Property.Name == "Text")
   {
      _scrollViewer.ScrollToEnd();
   }
}https://stackoverflow.com/questions/74094810
复制相似问题