我有一个使用弹出窗口的Prism WPF应用程序。在多个地方需要相同的功能,所以我的弹出窗口是这样引用的。
<i:Interaction.Triggers>
<interactionRequest:InteractionRequestTrigger SourceObject="{Binding CreateCatalogsRequest, Mode=OneWay}">
<interactionRequest:PopupWindowAction>
<interactionRequest:PopupWindowAction.WindowContent>
<!-- Problem line below -->
<view:SomePopUpView />
</interactionRequest:PopupWindowAction.WindowContent>
</interactionRequest:PopupWindowAction>
</interactionRequest:InteractionRequestTrigger>
</i:Interaction.Triggers>
目前,两个控件中出现了完全相同的代码片段。当我注释掉代码,或用标准组件(Combobox)替换“SomePopupView”时,我的应用程序可以工作。当我有两次引用相同的组件(SomePopupView)时,我的应用程序会抱怨区域。
我不想重写或扩展或执行任何架构巫术,但如何在应用的不同部分获得相同的弹出功能?
非常感谢任何帮助
编辑 AnjumSKhan提供的解决方案有效。我的解决方案如下
的App.xaml
<Application.Resources>
<view:SomePopupView x:Key="SomePopupView" />
....
<Application.Resources>
使用重复的弹出式视图
<i:Interaction.Triggers>
<interactionRequest:InteractionRequestTrigger SourceObject="{Binding CreateRequestInteraction, Mode=OneWay}">
<interactionRequest:PopupWindowAction>
<interactionRequest:PopupWindowAction.WindowContent>
<ContentControl Content="{StaticResource SomePopupView}"></ContentControl>
</interactionRequest:PopupWindowAction.WindowContent>
</interactionRequest:PopupWindowAction>
</interactionRequest:InteractionRequestTrigger>
</i:Interaction.Triggers>
答案 0 :(得分:0)
解。
的App.xaml
<Application.Resources>
<view:SomePopupView x:Key="SomePopupView" />
....
<Application.Resources>
使用重复的弹出式视图
<i:Interaction.Triggers>
<interactionRequest:InteractionRequestTrigger SourceObject="{Binding CreateRequestInteraction, Mode=OneWay}">
<interactionRequest:PopupWindowAction>
<interactionRequest:PopupWindowAction.WindowContent>
<ContentControl Content="{StaticResource SomePopupView}"></ContentControl>
</interactionRequest:PopupWindowAction.WindowContent>
</interactionRequest:PopupWindowAction>
</interactionRequest:InteractionRequestTrigger>
</i:Interaction.Triggers>