C# WPF中繁重UI控件的平滑调整行为
我已经在WPF中开发了一个用于绘制图表的控件,但是当我调整控件的大小时会出现性能问题。因为我不知道如何使性能更好,所以在进行risize时,我只是简单地关闭了渲染,但这看起来不是很好。所以我的问题是,在调整大小时,是否可以将控件“冻结”为图像,使其看起来平滑C# WPF中繁重UI控件的平滑调整行为,c#,.net,wpf,C#,.net,Wpf,我已经在WPF中开发了一个用于绘制图表的控件,但是当我调整控件的大小时会出现性能问题。因为我不知道如何使性能更好,所以在进行risize时,我只是简单地关闭了渲染,但这看起来不是很好。所以我的问题是,在调整大小时,是否可以将控件“冻结”为图像,使其看起来平滑 编辑:该控件基本上由包含自定义虚拟化面板的scrollviewer组成。scrollviewer只能水平滚动。scrollviewer中的虚拟化面板包含所有其他项目,如曲线、标签、网格等。以下是一个很好的建议列表: 此外,请尝试: Scr
编辑:该控件基本上由包含自定义虚拟化面板的scrollviewer组成。scrollviewer只能水平滚动。scrollviewer中的虚拟化面板包含所有其他项目,如曲线、标签、网格等。以下是一个很好的建议列表: 此外,请尝试: ScrollViewer上的IsDeferredScrollingEnabled=“true” 只有当您有ScrollViewer.CanContentScroll=true时,才会启用UI虚拟化 允许基于像素的滚动和虚拟化的黑客解决方案: 有关UI虚拟化的一些详细信息:
这个答案显然太晚了,但可能对未来的探险家有所帮助 如果您希望在繁忙控件上平滑地重新调整内容大小,此答案可能不适用。但是如果你想在重新调整尺寸的过程中解决口吃的问题,那么在重新调整尺寸之前就要这样做
这对于控件来说相当有效,但如果调整窗口大小,仍然会导致口吃。如何调整控件大小?我将它放在窗口中,并在调整窗口大小时调整它的大小。您尝试过吗?在这里,对控件进行精确调整会很有帮助。也许吧?或者它至少包含什么类型的UI元素。为什么不在开始调整大小时将重UI控件的高度和宽度属性设置为固定值-ActualHeight和ActualWidth,然后在完成调整大小时删除高度和宽度?@Liero ActualHeight和ActualWidth是只读属性。问题是,由于控件中元素的数量,对Measure()和Arrange()的调用非常昂贵。这会导致性能差和口吃问题。我的建议是延迟控件的重新排列,直到完成调整大小是的,实际高度是只读的,这就是我建议只读的原因;)<代码>延迟控件的重新安排-这正是我的建议。如果在调整窗口大小时明确地将大小设置为固定值,则在调整窗口大小时不会调用“测量”和“阵列”。删除显式大小时,将重新排列子项。