SharpShell を使用して PropertySheet を作成しました。PropertySheet は、ビューを [詳細] に設定し、[グループ] を有効にして情報を表示する ListView を使用します。
PropertySheet は Windows 7 で期待どおりに動作しますが、Windows 10 (x64) に移行したため、PropertySheet は表示され、そこに含まれる情報は正しいですが、ListView の動作が正しくありません。グループはまったく表示されず、ヘッダーは通常の「Aero」スタイルではなく、デフォルトの「ブロック」スタイルを使用します。問題のほとんどは、ページが再描画されないことです。つまり、エントリをクリックして再描画する必要があります。描画されます。
まったく同じ設定で単純な winforms アプリで ListView をテストしたところ、正しく動作しました。
Spy++ を使用して、既存の (Windows の一部) Details 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 の設定についてオンラインで言及されているものを見つけることができませんでした。
誰かが助けてくれれば、とても感謝しています。ありがとうございました