Silverlight DRY при анимации нескольких пользовательских элементов управления на главной странице навигации - PullRequest
1 голос
/ 13 мая 2009

Начиная с разработки Silverlight. Еще предстоит прочитать хорошую книгу Silverlight: предложения приветствуются.

У меня есть главный экран с графическим интерфейсом, в котором 7 пользовательских элементов управления (пунктов меню) «бросаются в глаза» по всему их собственному пути. У меня есть пользовательские элементы управления, хорошо разделенные и ведущие себя хорошо. Наличие нескольких раскадровок (по 1 на каждый элемент меню) с несколькими анимациями ключевых кадров (X, Y, высота, ширина) в одном .XAML не устраивает меня. Повторение всех этих значений свойств - отвратительное обслуживание неверителей.

Я пытался переместить значения в app.xaml и установить длительность анимации с помощью клавиш стиля, но с ограниченным успехом. Кто-нибудь может предложить хороший способ сделать это чище? Реорганизовать раскадровки под свой собственный контроль? Значения свойств в ресурсах? Динамическое построение в коде позади?

Также хорошо, если вы обратитесь на сайт с практическими рекомендациями.

1 Ответ

1 голос
/ 13 мая 2009

Возможно, вы не справляетесь с перегрузкой XAML. Кажется, что большинство разработчиков, начиная с WPF или Silverlight, считают, что в XAML должно быть все, что может быть в XAML. Затем они достигают точки, где они борются с XAML, чтобы сделать что-то, что потребовало бы мгновений в коде (я тоже затронул его проблему).

Если вы находите что-то громоздкое или безобразное в XAML, подумайте о том, чтобы написать это в коде. Это не преступление. Вероятно, вы можете объявить один метод для создания вашей раскадровки и затем использовать его несколько раз, или вы можете создать класс, который обернет вашу раскадровку и добавит несколько экземпляров в XAML намного более точными способами. Поскольку вы совершенно правильно определили к концу своего поста, есть несколько способов сделать его чище, вам просто нужно решить, какой из них подходит вашей ситуации.

Без какого-либо примера XAML трудно визуализировать точную проблему, с которой вы столкнулись, поэтому я не мог дать четкую рекомендацию, но надеюсь, что это поможет. Мне нравится звук ваших ударов - изображение, которое у меня есть в голове, действительно очень хорошее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...