Заставить WPF Listview придерживаться темы Windows

Я опытный программист, который пытается изучать C# и WPF. Теперь я немного сторонник деталей и хочу убедиться, что мои приложения гармонируют с остальным пользовательским интерфейсом. Тем не менее, я не могу сделать это с помощью ListView. Моя установка проста - добавить ListView к моему окну, привязать к ObservableCollection по моему выбору, и запустить приложение.

В результате элементы всплывают очень хорошо (будь то без значимого содержимого). Тем не менее, прямоугольник выбора в ListView всегда темно-синий, что возвращает меня к временам до XP, в отличие от аккуратного тематического выбора, который вы используете, используя визуальный стиль Windows 7 по умолчанию. Чтобы увидеть такой выбор в действии, просто выберите файл в проводнике или для другого примера посмотрите в "Программы и компоненты" на панели управления. Это выглядит красиво и гладко.

Как я могу заставить WPF правильно оформить тему моего ListView в зависимости от моих пользовательских настроек? Я не хочу заново изобретать весь код выбора и добавлять тонны стилей и тому подобного - я хочу простое приложение для Windows, которое выглядит хорошо. Кнопка работает нормально, текстовые поля работают нормально, комбинированные списки выглядят отлично и т. Д. Это просто ListView, который выглядит совершенно дерьмово.

Редактировать: у меня нет проблем с использованием другого (очень, очень желательно, не стороннего) элемента управления, если это необходимо, но мне нужен список элементов, который выглядит как родной, и я подхожу к макету, подобному параметру Tiles в Explorer, для каждого выбранного элемента (значок, desc, дополнительная строка информации). Только вертикальная прокрутка - вот что мне нужно.

1 ответ

Решение

Если вы используете ListView с ListView.View, установленным в GridView, то вы получите вид, похожий на проводник Windows 7. (По-моему, Atleast, или это тот взгляд, о котором вы говорите?). Также следует активной теме

Пример 1. ListView с GridView справа. Выбор активен

альтернативный текст

Пример 2. ListView с GridView справа. Выбор неактивен

альтернативный текст

Пример 3. Использование высококонтрастной темы № 2

альтернативный текст

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