c# - ScrollViewer 的视口(viewport)大小上的事件已更改

标签 c# wpf scrollviewer

我有一些自定义计算,可以根据 ScrollViewer 视口(viewport)的尺寸更改控件的尺寸。目前,我在获取 ScrollViewer.SizeChanged 事件时进行这些计算。但是,似乎 SizeChanged 事件在 ScrollViewer 更新 ViewPort 尺寸之前执行。我的 SizeChanged 事件处理程序显示了一个 ScrollViewer 发送器,其 Width 和 Height 已更新为新尺寸,但 ViewportWidth 和 ViewportHeight 属性为旧尺寸。

有没有办法在这些值改变后执行代码?

最佳答案

根据 MSDN您检查 ScrollViewer 的 ScrollChanged 事件。当它触发时,表示视口(viewport)宽度或视口(viewport)高度已更改。

OnScrollChanged Called when a change in scrolling state is detected, such as a change in scroll position, extent, or viewport size.

关于c# - ScrollViewer 的视口(viewport)大小上的事件已更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21714443/

相关文章:

c# - DragDrop 注册在安装项目中未成功

wpf - WPF DataGrid 单元格的条件格式取决于数据类型

c# - ListView 中的 "Infinite Scrolling"/避免重入滚动事件

.net - 使 WrapPanel 尊重他 parent 的宽度

.net - WPF:如何使 Canvas 自动调整大小?

C#图像绘制颜色不正确

c# - 在 C# 中创建 CSV 文件

wpf - 为什么在执行await 语句后无法访问我的代码?

c# - void 数据类型和 void 指针的实际用途是什么?

c# - Fluent合并到main.exe后出现的问题