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)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET开发智能桌面机器人:用.NET IoT库编写驱动控制两个屏幕
· 用纯.NET开发并制作一个智能桌面机器人:从.NET IoT入门开始
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· ASP.NET Core - 日志记录系统(二)
· .NET 依赖注入中的 Captive Dependency
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(二):用.NET IoT库
· 几个自学项目的通病,别因为它们浪费了时间!
· 在外漂泊的这几年总结和感悟,展望未来
· .NET 数据拷贝方案选择
· .net工作流elsa-书签