2010-11-23 3 views
5

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

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

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

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

ответ

4

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

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

alt text

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

alt text

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

alt text

+1

Oh святой коровой, так _that_ трюк. Я искал целый проклятый день для такого эффекта. Моя единственная неприязнь заключается в том, что что-то не в цвете - похоже, что сорт WPF с гаммой или насыщенностью или что-то в этом роде. Shinier? Я не знаю, как это назвать; вы можете увидеть это довольно хорошо на вашем примере. Случалось узнать об этом? (Моя цель по-прежнему должна выглядеть как можно более родной.) – Stigma 2010-11-23 22:31:09