WPF 常见性能或奇异问题总结。

1.ListView,DataGrid要想能正常的显示垂直滚动条。

  ListView,DataGrid在Document Outline中任何一级祖先节点都不可以是StackPanel。DockPanel某些情况下,可以实现你想要的完美的替代解决方案。

 

2.ListView千万不能直接放ScrollViewer里。

  此操作可引来巨大的UI变慢,甚至无响应的问题。

 

3.ItemControl不能随便乱用的,有时会引来巨大的UI无响应问题。

 

4.ListView在不同的主题下,如:Windows Classic && Windows 7 Aero下。ListView内嵌的控件是不同的。

 

5.ListView,要想画单元格线。

  要想支持不同的Windows主题,为了单元格的线和列头的边线对齐。

  完美的解决方案:

  给每个<GridViewColumn.CellTemplate>
      <DataTemplate>
        <Border>

            你的内容,爱放啥放啥。

        </Border>

 

  控件加载后,将列头的容器控件中包含的Border的Margin,Padding,BorderThickness数值全置为0。(需要使用VisualHelper)

 

  ListView每次加载新数据后,遍历行和单元格的容器控件。如果容器控件中有Border这个控件,

  把Border控件的Margin,Padding,BorderThickness数值全置为0.(默认Style中,有些Boder的Margin为:2,0,2,0;BorderThickness为:1,0,1,0)。

  (需要使用VisualHelper)

 

  

  

posted @   任国强  阅读(743)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示