void ViewOnMasterRowGetLevelDefaultView(object sender, MasterRowGetLevelDefaultViewEventArgs e)
 {
     if (e.RelationIndex > -1)
     {
         var gridViewBuilder       = new GridViewBuilder(Application, ObjectSpace, Frame);
         var currentObject         = ((IMasterDetailColumnView)sender).GetRow(e.RowHandle);
         var masterDetailRuleInfos = FilterRules(currentObject, GetFrame(sender as IMasterDetailColumnView));
         var levelDefaultView      = gridViewBuilder.GetLevelDefaultView((IMasterDetailColumnView)sender, e.RowHandle, e.RelationIndex, View.Model, masterDetailRuleInfos);
         e.DefaultView = levelDefaultView;
     }
 }
        void Grid_ViewRegistered(object sender, ViewOperationEventArgs e)
        {
            var gridViewBuilder   = new GridViewBuilder(Application, ObjectSpace, Frame);
            var parentGridView    = (IMasterDetailColumnView)e.View.ParentView;
            var detailXafGridView = parentGridView;
            var frame             = detailXafGridView.Window ?? Frame;

            var masterDetailRuleInfos = FilterRules(e.View.SourceRow, frame);

            var sourceRowHandle     = e.View.SourceRowHandle;
            var relationIndex       = parentGridView.GetRelationIndex(sourceRowHandle, e.View.LevelName);
            var masterModelListView = ((ListView)frame.View).Model;

            gridViewBuilder.ModifyGridViewInstance(detailXafGridView, sourceRowHandle, relationIndex, masterModelListView, masterDetailRuleInfos);
        }