Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Composite WPF/Silverlight / 25 сообщений из 31, страница 1 из 2
12.02.2010, 13:09
    #36465615
уТКа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite WPF/Silverlight
Всем привет.

Дорогие коллеги,
нужны Ваши грамотные ответы,
по замечательному паттерну Composite WPF/Silverlight .

Коллективными усилиями предлагаю производить глубокие погружения (так называемый дайвинг) в паттерн и затрагивать интересные моменты бытия :)

Так же общими усилиями предлагаю производить перевод цикла статей предлагаемого в MSDN а именно Client Development , дабы повышать профессиональный уровень и грамотность Русскоязычных разработчиков.

Сам в Английском плаваю так же как и в самом понимании данного паттерна,
поэтому если я займусь переводом,
толку будет мало,
объяснить ничего не смогу.

Спасибо за участие.
...
Рейтинг: 0 / 0
12.02.2010, 13:19
    #36465649
уТКа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite WPF/Silverlight
Итак мои вопросы...

авторСам в Английском плаваю так же как и в самом понимании данного паттерна,
поэтому если я займусь переводом,
толку будет мало,
объяснить ничего не смогу.

В связи с указанной выше проблемы возникают вопросы:
Вопрос №1:
Как организовать взаимодействие между разными ViewModel, конкретно интересует передача параметров и вызов методов ?

Зачем:
Зачем это надо?

Ответ:
Мне необходимо передать параметр в другую ViewModel, скажем номер договора, чтобы вывести детали по этому договору.

Вопрос №2:
У нас есть модель БД в Entity Framework которую необходимо использовать в разных ViewModel, для этого необходимо создать проект "Class library" и подключать в References в качестве Модуля в
каждой ViewModel или есть другой вариант взаимодействия?

Ранее была попытка создания подобного топика , но как-то жизнь его не задалась :)

В том топике был замечен автор "SeVa" - Вас мы тоже ждем :)

Спасибо за участие.
...
Рейтинг: 0 / 0
12.02.2010, 13:26
    #36465678
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite WPF/Silverlight
уТКаСам в Английском плаваю так же как и в самом понимании данного паттерна Тут
...
Рейтинг: 0 / 0
12.02.2010, 18:28
    #36466777
Silverlight
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite WPF/Silverlight
авторВопрос №1:
Как организовать взаимодействие между разными ViewModel, конкретно интересует передача параметров и вызов методов ?

Зачем:
Зачем это надо?

Ответ:
Мне необходимо передать параметр в другую ViewModel, скажем номер договора, чтобы вывести детали по этому договору.


Ответ: никак. Подобного взаимодействия быть не должно, иначе - жесткая связанность.
В xaml через Command или Action, которая будет публиковать событие с нужным параметром.

автор
Вопрос №2:
У нас есть модель БД в Entity Framework которую необходимо использовать в разных ViewModel, для этого необходимо создать проект "Class library" и подключать в References в качестве Модуля в
каждой ViewModel или есть другой вариант взаимодействия?
С паттерном IRepository можно сделать базовые ViewModel и абстрагироваться от DAL.
...
Рейтинг: 0 / 0
12.02.2010, 21:22
    #36467021
уТКа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite WPF/Silverlight
авторОтвет: никак. Подобного взаимодействия быть не должно, иначе - жесткая связанность.
В xaml через Command или Action, которая будет публиковать событие с нужным параметром.
по ссылке указанной выше как раз описывается мой вопрос (см. синий скриншот интерфейса ПО).

автор статьи в таком случае предлагает использовать Интерфейс для работы с соседними моделями и как я понял это вполне нормально, что модели взаимодействуют между друг-другом.
...
Рейтинг: 0 / 0
12.02.2010, 21:53
    #36467056
Silverlight
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite WPF/Silverlight
Код этой статьи я детально не помню, тк не самый лучший образец для подражания.
Где ты увидел взаимодействие моделей? Похоже, ты путаешь ViewModel(Presenter) и Моdel.
...
Рейтинг: 0 / 0
12.02.2010, 22:40
    #36467112
уТКа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite WPF/Silverlight
SilverlightКод этой статьи я детально не помню, тк не самый лучший образец для подражания.
вот поэтому в первом посте темы я и предложил создать достойный перевод или руководство, для подражания, который всегда можно будет ставить в пример.

Silverlight
Где ты увидел взаимодействие моделей? Похоже, ты путаешь ViewModel(Presenter) и Моdel.
"Регионы локального масштаба" - пункт в статье.
...
Рейтинг: 0 / 0
13.02.2010, 10:45
    #36467335
уТКа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite WPF/Silverlight
Итак...

Разговаривая вчера со своим другом разработчиком (а так лежа на кровати перед сном и рассуждая о прочитанном материале),
неоднократно услышал от него "чем отличается использование данного паттерна от написания собственных контролов?"

и собственно он был прав, ведь View лежит у нас в Dictionary проекта, а код реализации лежит отдельно, по сути своей развязанные две вещи, но при инициализации все сводится во едино, как при создании контролов.

Коллеги, правильно ли утверждение выше?

если это так, то изучение данного паттерна значительно упрощается, т.к. в создании контролов нет ничего сложного, а сам паттерн становится легок в понимании.

Спасибо за участие.
...
Рейтинг: 0 / 0
13.02.2010, 11:51
    #36467361
Silverlight
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite WPF/Silverlight
Применение данной библиотеки, позволяет прежде всего забыть о контролах.
Это совершенно разные подходы. При детальном рассмотрении Prism, выясняется,
что он мало подходит. ViewModel не должна содержать ссылок на View, а он заточен
только на работу с последней. Нет навигации, управления жизненным циклом View и тд.
Весной начнут делать 4.0, должен быть более приемлемый вариант.
...
Рейтинг: 0 / 0
13.02.2010, 11:55
    #36467366
уТКа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite WPF/Silverlight
т.е. в нынешнем его состоянии его лучше не использовать, даже если очень хочется (ресь про коммерческий проект)?
...
Рейтинг: 0 / 0
13.02.2010, 12:20
    #36467383
Silverlight
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite WPF/Silverlight
уТКат.е. в нынешнем его состоянии его лучше не использовать, даже если очень хочется (ресь про коммерческий проект)?
По телефону диагноз не ставлю. Все зависит от выбранного интерфейса, но в любом случае это будет лучше написания собственных велосипедов с контролами.
Большинства вопросов, которые возникают в данном форуме быть не должно.
...
Рейтинг: 0 / 0
13.02.2010, 15:15
    #36467576
Roman S. Golubin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite WPF/Silverlight
уТКаКак организовать взаимодействие между разными ViewModel, конкретно интересует передача параметров и вызов методов ?
EventAggregator?

уТКаУ нас есть модель БД в Entity Framework которую необходимо использовать в разных ViewModel, для этого необходимо создать проект "Class library" и подключать в References в качестве Модуля в каждой ViewModel или есть другой вариант взаимодействия?
Оформить DAL в виде набора служб и вызывать типа этого: container.Resolve<IMyCoolDocumentWriterService>().WriteDocument(this.Model);
...
Рейтинг: 0 / 0
19.02.2010, 02:59
    #36479006
уТКа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite WPF/Silverlight
мастер класс от умного дядьки (Mike Taulty) - как это нужно делать (внимание английский)
...
Рейтинг: 0 / 0
19.02.2010, 07:00
    #36479050
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite WPF/Silverlight
Чё-та я не догоню. Как в призме "родными" способами:
1. Получить дерево ViewModel-ей, имея корневую ViewModel?
2. Получить список всех ViewModel-родителей указанной ViewModel?
...
Рейтинг: 0 / 0
19.02.2010, 07:03
    #36479051
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite WPF/Silverlight
Анализировать визуальное дерево?
...
Рейтинг: 0 / 0
19.02.2010, 07:04
    #36479052
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite WPF/Silverlight
Алексей КАнализировать визуальное дерево?визуальное логическое
...
Рейтинг: 0 / 0
19.02.2010, 10:23
    #36479321
Silverlight
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite WPF/Silverlight
Алексей КАлексей КАнализировать визуальное дерево?визуальное логическое
Зачеркивать нужно было все. Забудьте про контролы раз и навсегда. "Штатные" средства Prism совершенно не приспособлены для ViewModel. Создавайте создавайте иерархию своими средствами. Кто мешает?
...
Рейтинг: 0 / 0
19.02.2010, 11:39
    #36479530
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite WPF/Silverlight
SilverlightЗачеркивать нужно было все. Забудьте про контролы раз и навсегда.Согласен.

Silverlight"Штатные" средства Prism совершенно не приспособлены для ViewModel. Создавайте создавайте иерархию своими средствами.Видимо придётся...
...
Рейтинг: 0 / 0
22.03.2010, 19:17
    #36535475
уТКа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite WPF/Silverlight
авторы просят высылать пожелания на следующую версию P&P Composite WPF/Silverlight - по планам разработчиков реализация начнется в апреле 2010 года и должна закончиться в сентябре 2010 гг
...
Рейтинг: 0 / 0
23.03.2010, 10:29
    #36536194
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite WPF/Silverlight
уТКаавторы просят высылать пожелания на следующую версию P&P Composite WPF/SilverlightПроект закрыть. Высвобожденную рабсилу занять чем-нибудь более полезным, разработкой нормальных контролов например...
...
Рейтинг: 0 / 0
08.07.2010, 18:05
    #36731101
Cossacker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite WPF/Silverlight
Здравствуйте. Вопрос по TabControl'у.
Есть кнопка -
Код: plaintext
1.
 <Button Command="{Binding Path=CloseCommand}"/>

Если она в гриде USERконтрола после табконтрла, то команда ловиться.
Если же такая же кнопка в ItemTemplate, то команда не подхватываеться. Почему?

USerControl.DataContext=TabControlViewModel, где наша команда и есть.
Ведь датаконтекст один и тот же для все дочерних елементов, если только у них не указать явно его.
...
Рейтинг: 0 / 0
08.07.2010, 22:38
    #36731449
i
i
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite WPF/Silverlight
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 <TabControl cal:RegionManager.RegionName="TabRegion">
                <TabControl.ItemTemplate>
                    <DataTemplate>
                        <WrapPanel DataContext="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:Shell}}, Path=DataContext}">
                            <TextBlock VerticalAlignment="Center">Tab Name</TextBlock>
                            <Button Margin="2,2,2,2"  VerticalAlignment="Center" Command="{Binding CloseCommand}" CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ContentControl}}, Path=DataContext}">X</Button>
                        </WrapPanel>
                    </DataTemplate>
                </TabControl.ItemTemplate>
            </TabControl>
...
Рейтинг: 0 / 0
08.07.2010, 22:46
    #36731459
i
i
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite WPF/Silverlight
Вариант со стилем
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<Style x:Key="TabItemHeaderStyle" TargetType="сontrols:TabItem">
        <Setter Property="HeaderTemplate">
            <Setter.Value>
                <DataTemplate>
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition  Width="*"/>
                            <ColumnDefinition  Width="Auto"/>
                        </Grid.ColumnDefinitions>
                        <TextBlock Grid.Column="0" Text="{Binding TabHeader}" HorizontalAlignment="Center" Margin="0,0,2,0"></TextBlock>
                        <Button Content="x" Grid.Column="1" Command="{Binding Path=CloseCommand}"" Margin=" 2 , 0 , 0 , 0 "  ></Button>
                    </Grid>
                </DataTemplate>
            </Setter.Value>
        </Setter>
    </Style>
...
Рейтинг: 0 / 0
09.07.2010, 12:24
    #36732267
Cossacker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite WPF/Silverlight
iRelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:Shell}}
Тоесть нужно создавать ModelView для Shell'а? Если да, какие другие могут быть варианты?
...
Рейтинг: 0 / 0
09.07.2010, 13:10
    #36732422
Cossacker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite WPF/Silverlight
CossackeriRelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:Shell}}
Тоесть нужно создавать ModelView для Shell'а? Если да, какие другие могут быть варианты?
Вместо {x:Type local:Shell} работает {x:Type local:TabControlForShell}
Как заголовок подцепить? Команда закрыть береть SelectedItem и закрывает его, ничего не зная про тип view.
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Composite WPF/Silverlight / 25 сообщений из 31, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]