Действие Silverlight и Призма - PullRequest
       10

Действие Silverlight и Призма

1 голос
/ 20 сентября 2009

При использовании Prism для композиции в Silverlight, как мне прикрепить действия между модулями?

Я вынужден использовать систему событий или есть способ присвоить TargetName для моих действий имя UserControl в другом модуле?

Например:

<Image Height="40" HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="40" Source="/SilverlightDemo.MainToolbar;Component/Images/i_chart.png" Stretch="Fill" Canvas.Left="222" Canvas.Top="55">
                <i:Interaction.Triggers>
                    <i:EventTrigger EventName="MouseLeftButtonDown">
                        <Actions:ToggleCollapseAction

                            TargetName="HERE:/SilverlightDemo.Modules.TargetModule;Views/TargetModuleView" 
                            CollapseHorizontal="False" 
                            CollapseVertical="False"/>
                    </i:EventTrigger>
                </i:Interaction.Triggers>
            </Image>

Ответы [ 2 ]

3 голосов
/ 21 сентября 2009

Поскольку одним из преимуществ использования Prism является разделение приложений, модуль не знает о других модулях (поэтому нет сведений о пользовательских элементах управления другого модуля). Поэтому какой-то механизм между ними должен устанавливать связь между модулями.

Наиболее распространенный способ сделать это - использовать агрегатор событий. Если вы хотите уменьшить код за вашими представлениями, просто используйте команду в XAML и запустите события в ViewModel.

Следующие темы касаются подобных вопросов:

Пожалуйста, дайте мне знать, если это поможет.

Дамиан Шенкельман

http://blogs.southworks.net/dschenkelman

0 голосов
/ 27 апреля 2011

Я нашел решение в Документы Prism4,

Глава 9: Связь между слабосвязанными компонентами

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