Как стать автором
Обновить

Комментарии 9

НЛО прилетело и опубликовало эту надпись здесь
Будет продолжение с MVVM с автоматикой (через интерфейс ICommand) на Portable Library для всех GUI + еще один «фокус», уменьшающий дублирование кода. Я все свои статьи стараюсь сделать проще кирпича, поэтому не все в одной статье получается.
Похоже на адский костыль, к тому же существуют другие более простые способы сделать xaml кроссплатформенным (кстати я считаю, UserControl делать кроссплатформенным — плохая идея, только для Templated Control это имеет смысл).
Касательно стиля: постарайтесь воздержаться от профессионального жаргона, очень тяжело читать вашу речь.
Чем этот костыль адский? В сочетании с прочими плюшками PL (напр. MVVM) выглядит неплохо. То, что это в принципе костыль, я и сам написал в статье, и сам не в восторге от MS за такое положение.
(Про жаргон не понял, вроде хабы профильные, можно в личку?)
Никогда не думал о PCL в таком ключе, использовал только для бизнес-логики (домена). В принципе, если мы пишем какой-то контрол, то на всех вышеупомянутых платформах (WPF, Silverlight 4-5, WinPhone 7-8, Windows Store App) он должен выглядить по разному ИМХО.
Ваше ИМХО несколько спорно. Это тоже контрол (лично я из-за него заморочался):
image
А к базовым контролам итак на каждой платформе применяются свои стили. Тут скорее вопрос — можно ли использовать схожий layout для разных платформ, насколько они будут соответствовать гайдам, чтобы в Store попасть (в случае metro-интерфейсов). Все приложение так конечно не построить, но отдельные детали можно.
Никогда не делайте вот так:
string[] names = this.GetType().Assembly.GetManifestResourceNames();
Stream s = this.GetType().Assembly.GetManifestResourceStream(names[0]);
return s;
поскольку в таком случае вы явно завязываетесь на порядок включения ресурсов в приложение. Лучше посмотрите this.GetType().Assembly.GetManifestResourceNames() в отладчике, и вбейте явную ссылку на ресурс — будет надежнее.
return this.GetType().Assembly.GetManifestResourceStream("Portable_Library.Sandbox.xaml");
В этом был умысел показать, что есть способ проверить все embedded включения по именам. Я специально в статье оговорился, что нужны проверки.
Прелесть в том, что PL может (и наверное это удобно) при многоплатформенной работе также передавать ресурсы string, image, как способ бороться с дубликацией
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории