WPF Blend tools vs XAML с ручным кодированием для управления интерфейсом - PullRequest
2 голосов
/ 27 июля 2011

Привет, это может показаться глупым вопросом, но я искал небольшую обратную связь. Я дизайнер, работающий с командой разработчиков над приложением WPF. Мы установили Expression Blend 4. Я новичок в WPF / Silverlight, но я сразу же приступил к работе и думаю, что это здорово.

Однако я заметил, что код xaml, который может генерироваться при использовании Expression Blend, иногда может быть слишком неприятным. Например, я создал шаблон управления для кнопки с Blend, и разметка была похожа на 100 строк кода. Затем я создал свой собственный шаблон управления, который был всего 20 строк или около того, и он сделал то же самое. Я сделал то же самое для списка и ничего себе, тот объем кода, который был сгенерирован для шаблона ListView, был RIDICULOUS. Итак, еще раз, я создал свои собственные стили и шаблоны, и в результате получилось намного меньше кода xaml.

Приложение, которое мы создаем, будет довольно большим, я думаю, поэтому мой вопрос в том, сильно ли это беспокоит производительность, если бы я просто создал все элементы дизайна / интерфейса с использованием смешанного графического интерфейса, даже если сгенерированный код может быть намного более обширным? Я понимаю, как использование инструментов Blend для дизайна может значительно облегчить задачу, но, как и при разработке веб-сайтов, я никогда не использовал конструкторское представление в Dreamweaver, поскольку генерируемый код - просто дерьмо.

Любое понимание будет с благодарностью.

Большое спасибо

Ответы [ 2 ]

1 голос
/ 28 июля 2011

Я предполагаю, что шаблон элемента управления, который вы сгенерировали для кнопки, на самом деле не делал то же самое, что и шаблон по умолчанию, который вы скопировали в Blend. Вы можете подумать, что это произошло, но я предполагаю, что что-то упустило. Например, обрабатывал ли ваш шаблон все 9 визуальных состояний , которые используются кнопкой? Если у вас было только 20 строк XAML, вероятно, нет. И да, шаблон элемента управления ListView довольно большой, потому что это довольно сложный элемент управления под одеялом.

В общем, я не буду беспокоиться о генерации больших шаблонов управления. Это случится. В целом, среда выполнения справляется с этим довольно хорошо. В отличие от Dreamweaver, Blend обычно дает вам довольно хороший код. Производительность становится проблемой только в том случае, если вы неправильно используете словари ресурсов, делая что-то неуместное, например, устанавливая действие сборки для встроенного ресурса в Visual Studio. (Я полагаю, что это создает свободный XAML-файл, который должен анализироваться и компилироваться во время выполнения, а не во время компиляции.)

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

1 голос
/ 27 июля 2011

Лично я бы использовал любой дизайнер только для составления и отображения в реальном времени визуального представления моего рукописного кода.Сгенерированный код может не быть ужасным, но как только вам понадобится что-то сделать вручную, вам будет сложно найти все, что вам нужно, если вы не написали его самостоятельно.Также Blend довольно много нарезает (создает ресурс и ссылается на него), в то время как мне нравится вкладывать вещи на месте, если они используются только один раз (я не знаю, можно ли настроить генератор кода в этом отношении).

Производительность не должна беспокоить, что шаблоны большие, если вы просто скопируете используемые по умолчанию, они сами по себе довольно большие, и это не проблема.

...