如何查看RichTextBox值是否出现在UI上
本文关键字:UI 是否 何查看 RichTextBox | 更新日期: 2023-09-27 18:25:59
我有一个LongListSelector
,并在其中使用RichTextBox
<DataTemplate>
<Grid>
<RichTextBox>
<Paragraph>
<Run Text="{Binding Description}"/>
</Paragraph>
</RichTextBox>
</Grid>
</DataTemplate>
由于数据列表很长,RichTextBox
的数据出现延迟。所有内容都已加载,但稍后会显示文本。
延迟没有问题,但当我试图通过.ScrollTo
方法滚动到LongListSelector
中的特定项目时,它会变得很烦人。在窗体或LLS的Loaded
事件处理程序中(没有区别),我调用ScrollTo
,但在屏幕上显示RichTextBox
的文本之前,它的执行完成并滚动到该项。因此,在显示文本之后,它变得更长,并且不再在正确的项上。
我想延迟执行ScrollTo
方法,让所有内容都显示在屏幕上,但由于我的应用程序不是多线程的,我最终无法成功睡眠或定时器。
我该如何解决这个问题?如何等待RichTextBox
的加载完成?(这是一个WP8应用程序)
您可以尝试使用LayoutUpdated(),它上次激发内容时已加载。
尝试实现属性更改通知
public class YourClass: INotifyPropertyChanged
{
private string description;
public event PropertyChangedEventHandler PropertyChanged;
public string Description
{
get { return description; }
set
{
description= value;
OnPropertyChanged("Description");
}
}
// Create the OnPropertyChanged method to raise the event
protected void OnPropertyChanged(string name)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(name));
}
}
}
当您设置Description = "blablabla"
时,它将通知您的RichTextBox
。
希望对有帮助