Using Dock Panels in Tabbed MDI

StatusIDPriorityType
Closed23112MajorBug
ProfileReply
Nick ShelomanovClient

Hi, we are currently evaluating Xafari for our use with XAF and one particular feature that we want to use is Bulk Edit. However it seems Dock Panels will not work with Tabbed MDI mode in Win Apps. Can you please advise how to get it working or whether this is a bug/limitation in Xafari?

Replies

UserDescriptionPosted On
Sasha (Xafari Support)Agent

Hello Nick,
For to use BulkEdit or DockPanels with UIType = TabbedMDI you have to create additional class (for example TabbedMDIDetailViewForm) in ...Module.Win:

public class TabbedMDIDetailViewForm: DetailViewForm, IDockManagerHolder
    {
        public DockManager DockManager
        {
            get
            {
                var dockManager = new DockManager();
                dockManager.DockingOptions.ShowCaptionImage = true;
                dockManager.Form = this;
                dockManager.TopZIndexControls.AddRange(new string[] {
			"DevExpress.XtraBars.BarDockControl",
			"DevExpress.XtraBars.StandaloneBarDockControl",
			"System.Windows.Forms.StatusBar",
			"DevExpress.XtraBars.Ribbon.RibbonStatusBar",
			"DevExpress.XtraBars.Ribbon.RibbonControl"
		});
                return dockManager;
            }
        }
    }

 

and to add CreateCustomTemplate event to WinApplication.cs:

private void Ticket_23112TabbedWindowsFormsApplication_CreateCustomTemplate(object sender, CreateCustomTemplateEventArgs e)
        {
            if (e.Context == TemplateContext.View)
                e.Template = new TabbedMDIDetailViewForm();
        }

 

This instructions will be added in documentation Xafari in future.

 

 

Feel free to contact us if you experience any further difficulties.

Regards, Sasha.

Nick Shelomanov

Hi Sasha, I did come across your post with a VB example of how to do this, but I didn't seem to be able to get it working as IDockManagerHolder seems to actually be in the Xafari.DockingPanels.Web (see https://galaktikasoft.com/documentation/xafari/index.html?frlrfxafaridockpanelswebidockmanagerholderclassdockmanagertopic.html).

Can you please advise. If you could provide an example of the TabbedMDIDetailViewForm with the namespace declarations above would be great.

Thanks,
Nick

Nick Shelomanov

Also, I think it would really make sense to add TabbedMDIDetailViewForm into the Xafari.Win.Templates modules so that every developer who uses TabbedMDI doesn't have to implement their own class and can just implement the CreateCustomTemplate event handler using your class.

Nick Shelomanov

Hi, I think I've worked it out it's DevExpress.ExpressApp.Win.SystemModule.IDockManagerHolder

Sasha (Xafari Support)Agent

Hi Nick,

Are DockPanels working with Tabbed MDI mode for your application now?

× This ticket is closed.

Write US