Hi,
That is right, when defining a view to be used in the PopupWindowAction, you are passing an instance of that view in XAML, and that instance is reused each time the InteractionRequest is raised. Hence, as you cannot show the same instance of a view more than once at the same time, you can show only one popup at a time. This is not the case when using the default window for Notification as the PopupWindowAction creates a new popup for each notification it receives.
Also, as you said, it doesn't seem the StockTrader's popup region will work for this scenario either, as all of its views will be showed in a single window.
As a possible approach, you could modify the PopupWindowAction to change how it uses the views so that it could be able to show more than one popup. For example, if the ResponseDetailsView is a common view that you will use in several parts of your application, you could modify the PopupWindowAction to instantiate create it manually (as it does with the default Notification window) according to the view model. Other approach could be to modify the PopupWindowAction to receive the view type (using the x:Type Markup Extension) instead of the view instance. Then, each time the InteractionRequest is raised, the action could re-create the view using the ServiceLocator, obtaining a different instance for each interaction.
Regards,
Damian Cherubini
http://blogs.southworks.net/dcherubini
That is right, when defining a view to be used in the PopupWindowAction, you are passing an instance of that view in XAML, and that instance is reused each time the InteractionRequest is raised. Hence, as you cannot show the same instance of a view more than once at the same time, you can show only one popup at a time. This is not the case when using the default window for Notification as the PopupWindowAction creates a new popup for each notification it receives.
Also, as you said, it doesn't seem the StockTrader's popup region will work for this scenario either, as all of its views will be showed in a single window.
As a possible approach, you could modify the PopupWindowAction to change how it uses the views so that it could be able to show more than one popup. For example, if the ResponseDetailsView is a common view that you will use in several parts of your application, you could modify the PopupWindowAction to instantiate create it manually (as it does with the default Notification window) according to the view model. Other approach could be to modify the PopupWindowAction to receive the view type (using the x:Type Markup Extension) instead of the view instance. Then, each time the InteractionRequest is raised, the action could re-create the view using the ServiceLocator, obtaining a different instance for each interaction.
Regards,
Damian Cherubini
http://blogs.southworks.net/dcherubini