Заставить 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