2009-09-20 75 views
1

在Silverlight中使用Prism進行合成時,如何在模塊之間附加動作?Silverlight Action和Prism

我是否被迫使用事件系統,或者有沒有辦法將我的Actions的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> 

回答

3

作爲使用Prism由具有去耦應用的好處之一,模塊不知道其他模塊的(因此,沒有關於其他模塊的用戶控件的知識)。因此,它們之間的某種機制必須建立模塊之間的通信。

這樣做的最常見方法是使用事件聚合器。如果您想減少視圖背後的代碼,只需在XAML中使用命令並在ViewModel中激發事件。

以下線程處理類似的問題:

請讓我知道,如果這有助於。

達米安Schenkelman

http://blogs.southworks.net/dschenkelman

-2

我發現在 PRISM4文檔解決方案,

第9章:溝通鬆散耦合組件

+0

什麼是章說,這個問題關係? – ajacian81 2012-11-23 17:06:35