2012-06-26 1 views
0

У меня есть базовый C# WPF TreeView, но мне не нравится, что значки развернуть/свернуть - это треугольник, и вместо этого я хочу использовать значки плюс/минус.Как получить XP themed TreeView expand/collapse icons?

От this question, я заметил, что вы можете установить тему для Windows для приложения, и он использует uxtheme.dll изменить к теме Vista/7, что тема DLL, для перехода к теме XP и как добавьте ли ссылку в файл xaml, который использует модифицированный элемент управления TreeView?

ответ

2

UxTheme.dll предоставляет услуги темы для приложений, использующих библиотеки Common Control, в дополнение к частям хром Windows (такие как границы окон и заголовки) и настраиваемые элементы, такие как меню запуска и панель задач. UxTheme.dll был представлен в 2001 году в Windows XP, однако предоставляемые сервисы варьируются в зависимости от версий Windows.

WPF не использует UxTheme.dll для его тематики - все визуальные стили WPF - это фактически повторная реализация векторной графики XP «Luna» (тема XP Fischer-XP), XP «Royale» (MCE2005) и Vista/7 Aero. Кроме того, WPF также не использует библиотеку Common Controls, она имеет 100% -ную переоценку всех основных элементов управления Windows - вот почему приложения WPF, как правило, попадают в Uncanny Valley на Windows - они выглядят как родные приложения, но что-то isn Прямо о них.

Я сам не эксперт WPF, но я понимаю, что вы можете переопределить рендеринг отдельных элементов, но я не знаю, можете ли вы сделать это без их подклассификации.

Извиняюсь за то, что не ответил на ваш вопрос напрямую, я просто надеюсь, что смогу предоставить полезную информацию.

+0

Благодарим за информацию! Это немного. lol Я думаю, что я просто оставлю это так, как сейчас, это не влияет на деловые отношения самого приложения. –

1

К сожалению, я считаю, что это требует переопределения стилей и шаблонов управления TreeView по умолчанию. Вот ссылка на MSDN: http://msdn.microsoft.com/en-us/library/ms752048.aspx. Если вы ищете Путь x: Имя = "Свернутый" и Путь x: Name = "Expanded" вот как стрелка нарисована.

Вы можете переопределить это, заменив элемент «Путь» на изображение для каждого состояния. Или вы также можете использовать элемент «Путь», чтобы нарисовать что-то похожее на желаемый + эффект.

Смежные вопросы