我使用SharpShell创建了一个PropertySheet。 PropertySheet使用ListView,其视图设置为Details and Groups,以显示一些信息。
PropertySheet与Windows 7中的预期完全一样,但我现在已经转移到Windows 10(x64),虽然可以看到PropertySheet,但它包含的信息是正确的,ListView是行为不端的。它根本不显示组,标题使用默认的“块”样式而不是像往常一样的“Aero”样式,并且最常见的问题是页面没有重新绘制,即我必须单击它们的条目被画出来。
我在一个简单的winforms应用程序中测试了ListView,它具有完全相同的设置,并且行为正确。
我已经使用Spy ++来比较现有的(部分Windows)详细信息PropertyPage(它也在我想要的相同配置中使用ListView)。我发现设置了标志的一些细微差别:
Windows Details PropertyPage My PropertyPage
Windows Styles: 5201891D Windows Styles: 56018141
WS_CHILDWINDOW 40000000L WS_CHILDWINDOW 40000000L
WS_VISIBLE 10000000L WS_VISIBLE 10000000L
- WS_CLIPSIBLINGS 04000000L
WS_CLIPCHILDREN 02000000L WS_CLIPCHILDREN 02000000L
WS_TABSTOP 00010000L -
- WS_MAXIMIZEBOX 00010000L
00008141 (All LVS setting were grouped
for my control but I worked out the
following)
LVS_REPORT 0001 LVS_REPORT 0001
LVS_SINGLESEL 0004 -
LVS_SHOWSELALWAYS 0008 -
LVS_SORTASCENDING 0010 -
- LVS_SHAREIMAGELISTS 0040
LVS_AUTOARRANGE 0100 LVS_AUTOARRANGE 0100
LVS_ALIGNLEFT 0800 -
LVS_NOSORTHEADER 8000 LVS_NOSORTHEADER 8000
Extended Styles: 00000204 Extended Styles: 00000200
WS_EX_LEFT 00000000L WS_EX_LEFT 00000000L
WS_EX_LTRREADING 00000000L WS_EX_LTRREADING 00000000L
WS_EX_RIGHTSCROLLBAR 00000000L WS_EX_RIGHTSCROLLBAR 00000000L
WS_EX_CLIENTEDGE 00000200L WS_EX_CLIENTEDGE 00000200L
WS_NOPARENTNOTIFY 00000004L -
我创建了一个非常简单的PropertySheet来排除我原始PropertySheet功能引起的任何问题。不幸的是我得到了相同的结果。请参阅下面(单击以强制重绘,以及它应该类似的窗口PropertySheet)。
我一直无法在网上找到有关此问题或Windows 10中可能导致此问题的设置。
如果有人能够帮助我会非常感激。 谢谢