WedX - журнал о программировании и компьютерных науках

Не нарушает ли переопределение стилей / шаблонов элементов управления по умолчанию тематику?

Когда я переопределяю стиль / шаблон элемента управления по умолчанию для стандартного элемента управления WPF в наложении с помощью «Редактировать копию» без его изменения (просто создавая локальную копию if), это уже нарушит тематику в некоторых сценариях? Другими словами, предоставляют ли разные темы разные определения шаблона элемента управления и / или стиля для стандартных элементов управления? Как я могу убедиться, что мои стили / шаблоны управления соответствуют тематике?


Ответы:


1

Да, это нарушает тематику;

Да, разные темы предоставляют разные стили управления. Если у вас есть MS Blend, вы можете найти их в папке Blend (например, в C: \ Program Files \ Microsoft Expression \ Blend 3 \ SystemThemes \ Wpf)

Чтобы соблюдать тематику, вы также должны создать один стиль для каждой темы для своего элемента управления. Существует много ресурсов по индивидуальному заказу. управление и поддержка тем. Просто упомяну один: WPF: изменение стиля управления в зависимости от системной темы

16.10.2009
  • Известны ли вам какие-нибудь уловки, с помощью которых я мог бы расширить существующий элемент управления (например, создать ImageButton, унаследовав его от Button), но сохранив всю тематику? 20.10.2015

  • 2

    Как разработчик вы хотите создавать элементы управления с точки зрения их функциональности. Используйте стили управления по умолчанию везде. Тогда позвольте профессионалам заняться графическим дизайном. Если вы переопределите ControlTemplate элемента управления, вы уже заняты темой.

    Если вы возитесь с ControlTemplates, старайтесь придерживаться стандартного подхода, иначе, как только графический дизайнер начнет работать над приложением, он будет ругаться на вас :)

    Темы - это коллекции стилей, нацеленных на отдельные элементы управления и переопределяющих их внешний вид. Любой элемент управления, для которого вы предоставили ControlTemplate, либо не будет применяться, либо не будет соответствовать пакету тем (в зависимости от того, получаете ли вы доступ к теме по x: Name или по типу)

    Однако если вы переопределите DataTemplates, все в порядке. Это можно безопасно делать, не беспокоясь о вмешательстве тем.

    16.10.2009
  • Мне это кажется серьезным недостатком дизайна в WPF. 20.10.2015
  • Новые материалы

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


    Для любых предложений по сайту: [email protected]