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

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

Очень интересная статья. Как по-мне для новичков — находка.
Для себя тоже нашел кое что интересное, автору спасибо!
Удели внимание форматированию. Требуется оформление!
Знал бы как. Я замучился с ним. Я писал вокруг каждого фрагмента кода тег и ожидал увидеть выделение кода a-la codepoject (там примерно так же обрамляется код тегом code). Но нет. Как сделать красивое форматирование кода здесь?
спасибо за статью, с удовольствием прочитал!
НЛО прилетело и опубликовало эту надпись здесь
Подправьте форматирование плиз!
Скажите как или ссылку дайте. Я ожидаю что когда я код обрамляю тегом <code /> код будет подсвечен как на codeproject. Но нет — так не произошло. Вместо это съехали пробелы, а в середине вообще кошмар.
Я в свое время использовал небезызвестный Хаброредактор www.bankinform.ru/HabraEditor/
только я вижу тут тавталогию?
покаления

опечатку заметил…

В чистом виде этот паттерн хорош для небольших приложений. В серьезных LoB-аппликейшенах начинаются трудности. Большое количество разнотипных свойств, каждое из которых может быть представлено на разных «View» по-разному. Плюс большое количество асинхронных запросов. В итоге добавление большого количества «data-binding» приводит в созданию по крайне мере видимой тормознутости софтины. Особенно когда менеджеры на стороне заказчика пускают слюни на красоты WPF.
Для больших приложений, я так думаю, предлагается использовать Prism, а не встроенный механизм DataTemplates. Хотя опять таки я вот например уже второй месяц кручу в голове как использовать призму в одном своем проекте, и все больше мне кажется что этот паттерн заточен для классических DDD приложений. то-есть, где основной задачей работы приложения есть ворочение данных, это и классические POS терминалы, киоски итд… А вот как этот паттерн прикрутить к векторному графическому редактору(немного расширенному) я что-то немогу представить:(
PRISM и прочие — это хорошо. Но! Фреймворки не заменяют понимание паттерна. Мне хотелось сделать статью о MVVM начального уровня. Те без лишних деталей, которые отнюдь не упрощают понимание кода. Когда я сам разбирался с этим паттерном постоянно натыкался на overengineered toy примеры кода, в которых было всего до полна, но задачи не из реальной жизни.
Согласен, проблема MVC в том, что обещают, что он будет незаменим когда приложение станет сложным, а обьясняют на примерах что и нафик он там не нужен.
Как это сделать? Здесь тонкий но важный момент – во первых, мы должны установить Content на RecentPage:
/>


парсер съел, что тут должно быть?
Разобрался сам :)
<TabItem Content="{Binding ElementName=MainWindowInstance, Path=ViewModel.RecentPage}" />
Блин, туплю, мы же задали контекст, можно просто
<TabItem Content="{Binding Path=RecentPage}" />
Отформатируйте, наконец-то, статью и код (
Статья хорошая, но обилие грамматических ошибок и не отформатированный код…
Я не знаю как ее отформатировать. На мой взгляд код не верно парсился. Потому что верстка страницы такая же как в codeproject — там работает, здесь нет. Я пару часов убил на разбирание с тем как движок хабра парсит это несчастье и сдался. Если у вас есть желание помочь — я могу вам прислать и потом запостить отформатированный код. Напишу во вступлении «спасибо за помощь в редактировании статьи такому-то». А ну и я патологический не грамотен в плане русского
Отличная статья, правда вначале возникла проблема с DataContext'ом. Ибо кусок кода:

<Window x:Class="SimpleTwitterClient.MainWindow"
x:Name="MainWindowInstance"
xmlns:view="clr-namespace:SimpleTwitterClient.View"
xmlns:viewModel="clr-namespace:SimpleTwitterClient.ViewModel"
DataContext="{BindingViewModel,ElementName=MainWindowInstance}"> <!-- Именно здесь. так и не понял что такое  MainWindowInstance -->


ни в какую не хотел работать. Проблема разрешилась вот таким образом:

<Window x:Class="SimpleTwitterClient.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:view="clr-namespace:SimpleTwitterClient.View"
        xmlns:viewModel="clr-namespace:SimpleTwitterClient.ViewModel"
        Title="MainWindow" Height="430" Width="310" ResizeMode="NoResize">
    <!-- Default data context -->
    <Window.DataContext>
        <viewModel:SimpleTwitterClientViewModel/>
    </Window.DataContext>


Да, и в оригинале читать было удобней. Поскольку форматирование этой статьи, мягко сказать не очень.
Я ступил. Ответ нашелся
x:Name="MainWindowInstance"
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации