[XAF]如何在非按钮事件中打开视图

 1  private static void OpenDetailView(XafApplication app) {
 2             IObjectSpace os = app.CreateObjectSpace();
 3             //Find an existing object.
 4             //Contact obj = os.FindObject<Contact>(CriteriaOperator.Parse("FirstName=?", "My Contact"));
 5             //Or create a new object.
 6             Contact obj = os.CreateObject<Contact>();
 7             obj.FirstName = "My Contact";
 8             //Save the changes if necessary.
 9             //os.CommitChanges();
10             //Configure how our View will be displayed (all parameters except for the CreatedView are optional).
11             ShowViewParameters svp = new ShowViewParameters();
12             svp.CreatedView = app.CreateDetailView(os, obj);
13             //svp.TargetWindow = TargetWindow.NewModalWindow;
14             //svp.Context = TemplateContext.PopupWindow;
15             //svp.CreateAllControllers = true;
16             //You can pass custom Controllers for intercommunication or to provide a standard functionality (e.g., functionality of a dialog window).
17             //DialogController dc = Application.CreateController<DialogController>();
18             //svp.Controllers.Add(dc);
19             // Show our View once the ShowViewParameters object is initialized.
20             app.ShowViewStrategy.ShowView(svp, new ShowViewSource(null, null));
21         }

另外一种方法,

1 ShowViewParameters svp = new ShowViewParameters();
2 ViewShortcut shortcut = new ViewShortcut(Application.FindDetailViewId(typeof(Contact)), obj.Oid);
3 svp.CreatedView = Application.ProcessShortcut(shortcut);
原文地址:https://www.cnblogs.com/lsr-flying/p/4508708.html