-
Notifications
You must be signed in to change notification settings - Fork 0
/
MasterDetailViewController.cs
40 lines (37 loc) · 1.41 KB
/
MasterDetailViewController.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
using DevExpress.ExpressApp;
using DevExpress.ExpressApp.Editors;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GetMasterFrame.Module.Controllers {
public class MasterDetailViewController : ViewController<DetailView> {
private void PushFrameToNestedController(Frame frame) {
foreach (Controller c in frame.Controllers) {
if (c is NestedListViewFrameController) {
((NestedListViewFrameController)c).AssignMasterFrame(Frame);
}
}
}
private void lpe_FrameChanged(object sender, EventArgs e) {
PushFrameToNestedController(((ListPropertyEditor)sender).Frame);
}
protected override void OnActivated() {
base.OnActivated();
foreach (ListPropertyEditor lpe in View.GetItems<ListPropertyEditor>()) {
if (lpe.Frame != null) {
PushFrameToNestedController(lpe.Frame);
} else {
lpe.FrameChanged += lpe_FrameChanged;
}
}
}
protected override void OnDeactivated() {
foreach (ListPropertyEditor lpe in View.GetItems<ListPropertyEditor>()) {
lpe.FrameChanged -= new EventHandler<EventArgs>(lpe_FrameChanged);
}
base.OnDeactivated();
}
}
}