PropertySheet ListView ведет себя по-разному в Windows 10

Я создал PropertySheet с помощью SharpShell. PropertySheet использует ListView с его представлением, установленным на Details и Groups, для отображения некоторой информации.

Таблица свойств работает точно так же, как и ожидалось в Windows 7, однако теперь я перешел на Windows 10 (x64), и хотя список свойств можно увидеть, и информация, содержащаяся в нем, является правильной, ListView работает неправильно. Он вообще не показывает группы, заголовки используют стиль по умолчанию "block", а не стиль "Aero", как обычно, и большинство проблем заключается в том, что страница не перерисовывается, т.е. я должен щелкнуть записи, чтобы они быть нарисованным.

Я протестировал ListView в простом приложении winforms с точно такими же настройками, и он ведет себя правильно.

Я использовал Spy++ для сравнения существующей (части Windows) детали PropertyPage Details (которая также использует 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, которая могла бы быть причиной этого.

Если кто-то сможет помочь, я буду очень признателен. Спасибо

0 ответов

Другие вопросы по тегам