是否可以在“虚拟”模式下使用 TextBox。
我想在用户滚动文档时按需提供文本。
要使用内置的虚拟化(即默认 ListBox 使用的 VirtualizingStackPanel),您需要能够将内容分块为项目,这些项目可以根据需要一次逐步加载(逻辑滚动)。对任意大文本执行此操作将涉及大量预处理以计算换行并将文本分解为行或行组。一旦你这样做了,你将需要使用从 ItemsControl 派生的容器而不是单个 TextBox。您是否需要拥有可编辑的文本?
我认为虚拟模式旨在通过仅按需获取和呈现数据来提高应用程序性能。如果用户正在滚动文档,这是否意味着数据已经加载?您不能将 TextBox 数据绑定到代码隐藏中的属性,并仅在用户滚动时设置该属性的值吗?