我可以在WPF和Prism中的自定义TriggerAction中使用di容器创建视图吗
本文关键字:di 视图 创建 TriggerAction WPF Prism 自定义 我可以 | 更新日期: 2023-09-27 18:19:35
例如,我想开发一个可以弹出自定义窗口的PopupWindowAction。
<prism:InteractionRequestTrigger SourceObject="{Binding OpenMyCutomDialog}">
<prism:PopupMyCutomDialogAction IsModal="True">
</prism:PopupMyCutomDialogAction>
</prism:InteractionRequestTrigger>
MyCutomDialogView是一个窗口,但它有一些构造函数参数。我认为使用di容器来创建它应该是一个很好的做法
public class PopupMyCutomDialogAction : TriggerAction<FrameworkElement>
{
protected override void Invoke(object parameter)
{
// how to access container and create MyCutomDialog?
}
}
如何使用di容器创建MyCutomDialog?(在这种情况下,我们只使用全局变量来访问PopupMyCutomDialogAction中的di容器?)
非常感谢。
如果您想使用DI容器来解析自定义触发器操作中的对象,您可以使用ServiceLocator来执行此操作;
ServiceLocator.Current.GetInstance<MyServie>();