Информация, представленная на этой странице, скорее всего, устарела и может быть уже неактуальна.
Учимся ходить, прежде чем бежать
Итак, вы решили ступить на суровую пустошь, которой является написание кода UI и работа со Stylesheets? Отлично! Но прежде чем вы сможете начатьБыстро и грязно (используя FancyWindow)
Грань между жизнью и смертью определяется тем, на что мы готовы пойти.
- Беар Гриллс
FancyWindow вместо DefaultWindow!
Чтобы использовать его, просто измените:
Учимся у выживших
Делая свои первые шаги в пустоши UI, вы должны посмотреть, как смелые кодеры UI, пришедшие до вас, выжили в этой суровой среде. Один из лучших примеров для изучения — GravityGeneratorWindow. Он содержит несколько базовых классов стилей, которые вы можете просто использовать для своего собственного UI, такие как:StatusFieldTitle для label и OpenRight\OpenLeft для кнопок.
Вы можете просто скопировать атрибут StyleClasses="..." в ваш компонент UI, чтобы использовать их.
Всякий раз, когда вы видите красивый UI, у которого есть компонент, стилизованный так, как вам нужно, и он написан на xaml, вы можете попробовать, поможет ли простое копирование этого.
Копаем глубже
Награды дикой природы и награды выжившего достаются тем, кто может копать глубоко и, в конечном счёте, тому парню, который может остаться в живых.
- Беар Гриллс
FancyWindow и StyleNano в основном состоит из трёх вещей:
- Объявления переменных/констант
- Классы стилей, написанные трудночитаемым способом
- Классы стилей, написанные легкочитаемым способом
Трудночитаемый способ объявления класса стиля
В настоящее время большинство классов стилей написаны трудночитаемым способом, как показано ниже:
- Новые классы стилей создаются путём создания экземпляра класса StyleRule
- Вы указываете тип элемента управления, для которого предназначен класс, создавая экземпляр SelectorElement с типом класса элемента управления
- Затем вы определяете имена классов стилей как массив строк (StyleClassWindowCloseButton — это просто строковая константа)
- Четвёртый параметр конструктора SelectorElement — это псевдокласс, который вы можете использовать для таких вещей, как состояния наведения. Может быть null.
- Второй параметр конструктора StyleRule — это массив свойств стиля. Конструктор StyleProperty принимает имя свойства в виде строки (обычно из строковой константы внутри элемента управления, который вы пытаетесь стилизовать) и значение, которое вы хотите установить для этого свойства.
Легкочитаемый способ объявления класса стиля
Element<PanelContainer>и.Class("BackgroundDark")указывают тип элемента управления и класс, к которому вы хотите применить стиль..Prop(PanelContainer.StylePropertyPanel, new StyleBoxFlat(Color.FromHex("#25252A"))присваивает значение свойству, где первый аргумент — это свойство, а второй — значение. В данном случае он устанавливает цвет фона для panel container.
Скрытые опасности
Но дикая природа непредсказуема, всякое случается, и всегда, когда меньше всего этого ожидаешь.
- Беар Гриллс