Composite WPF Region Adapter

Docking/MDI for WPF Forum

Posted 15 years ago by Mike Strobel - New York, NY
Avatar
Hi all,

I recently submitted a patch to the Composite WPF Contrib project on CodePlex that includes a region adapter for the Actipro Docking/MDI system. The adapter works fine with both tabbed and standard MDI modes, and there is a single metadata interface for defining whether a view is shown as a tool window or document window, as well what docking behaviors are allowed. The default implementation of the metadata interface is a DependencyObject with bindable DependencyProperties, so it's very Xaml-friendly.

Anyone is welcome to use it. If you have any questions or discover any bugs, please feel free to contact me: mike DOT strobel AT gmail DOT com. I will be putting together a small sample application that can be posted here, as well as included in the Actipro documentation.

Cheers,
Mike

Comments (24)

Posted 15 years ago by Kavan Shaban
Avatar
Mike,

Thanks for the contrib, this something I will definetly be working with.

Thanks again,

Kavan
Posted 15 years ago by Henrique Duarte
Avatar
Mike,

Do you have a sample project?

Regards,

Henrique
Posted 15 years ago by Mike Strobel - New York, NY
Avatar
I'm working on updating the region adapter to work with Prism V2, as well as a simple sample application. You can find a preview here. The sample displays the images in your My Pictures folder--double-click one to open it in a document tab view. There's currently a bug where the property grid goes blank when you close a tab, but I'll fix that soon.

Mike

EDIT: I have fixed the issue with the property grid. There is an apparent bug in the default region context binding behavior that I corrected with a custom implementation. I have submitted a bug report to the Composite WPF team.

[Modified at 02/22/2009 03:44 PM]
Posted 15 years ago by Steve Neal
Avatar
I tried to get your sample. However the link did not work..

Thanks
Steve
Posted 15 years ago by Mike Strobel - Software Engineer, CDC Software
Avatar
Hi Steve,

Sorry about that. I must have deleted that file off the FTP when Bill and I were working on the region adapters. Here's a preview of the DockSite and Ribbon region adapters I've been working on, along with a sample application:

http://72.167.90.173/Actipro_CAL_R2.zip

Cheers,
Mike
Posted 15 years ago by Steve Neal
Avatar
Thanks Mike. I got it..

Steve
Posted 15 years ago by Henrique Duarte
Avatar
Hello Mike,

Is this the latest version?
Do you have plans to post the Composite WPF Region Adapter on site and blog about?

Best Regards,

Henrique
Posted 15 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar
Hi Henrique,

We are hopefully going to work with Mike on this more once WPF Studio v5.0 is out and stable so that we can possibly establish a Codeplex open source Actipro Contrib project. It would contain the Composite WPF integration functionality and some other things as well.


Actipro Software Support

Posted 15 years ago by Mike Strobel - New York, NY
Avatar
Hi Henrique,

In answer to your question, yes, this is the latest revision of my Prism adapters. As Bill said, we hope to revisit my work on Actipro/Prism support soon as part of a greater open-source "Actipro Contrib" project.

Regards,
Mike
Posted 15 years ago by Mike Strobel - Software Engineer, CDC Software
Avatar
Just a quick addendum--if you guys run into any issues with my region adapters or have some suggestions, please feel free to let me know, and I'll see what I can do when I have some free time :).

Regards,
Mike
Posted 15 years ago by Cameron MacFarland - Senior Software Engineer, Orelogy Geotechnical
Avatar
If you insist :)
  • The docking adapter doesn't work with serialization because the dock windows don't have names. I added a WindowName property to the MetaData and bound it in the adapter to the DockingWindow once it is created, and that fixed the problem.
  • You can't set a target for a tool window. Again I added a property to the MetaData and used it in the Adapter.
Apart from that, thanks for writing these adapters, as they have saved me a lot of time.
Posted 15 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar
Thanks for the feedback Cameron. Now that WPF Studio 2009.1 is out, we plan on working with Mike soon to get and official build of this completed and out. If you have any other suggestions, please submit them now so we'll have a list of things to work on when we begin updates.


Actipro Software Support

Posted 14 years ago by Michael Fooks - Software Engineer, Automated Positioning Systems
Avatar
Hi,

I am looking at the DockSiteRegionAdapter and it seems quite good.

How do I add the metadata to a ToolWindow view code?

ie. Do the following via code?

<apCal:DockSiteRegionMetadata.DockSiteRegionMetadata>
<apCal:DockSiteRegionMetadata DefaultDock="Right" />
</apCal:DockSiteRegionMetadata.DockSiteRegionMetadata>

Thanks heaps.
Posted 14 years ago by Cameron MacFarland - Senior Software Engineer, Orelogy Geotechnical
Avatar
DockSiteRegionMetadata is an attached property of a dependency object.

To add one in code, you can do the following (assuming you have a user control 'view').
var metaData = new DockSiteRegionMetadata();
metaData.DefaultDock = DockSiteRegionDock.Right;

DockSiteRegionMetadata.SetDockSiteRegionMetadata(view, metaData);
Posted 14 years ago by Michael Fooks - Software Engineer, Automated Positioning Systems
Avatar
Hi Mike,

Is http://72.167.90.173/Actipro_CAL_R2.zip still the latest version?

Thanks heaps.
Posted 14 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar
Mike can answer whether that is the latest version he published. We will probably be updating it as we move further into development of our SyntaxEditor Language Designer tool since that application uses it. Once we make some updates and get it where we want it, we'll publish it in our actipro.codeplex.com repository. We'll definitely post something on the Actipro blog when this happens so be sure to keep an eye on our blog.


Actipro Software Support

Posted 14 years ago by Mike Strobel - Software Engineer, CDC Software
Avatar
Hi Michael,

Yes, that .zip represents the latest published revision. I do have a somewhat reorganized version that will eventually be merged into the Actipro Contrib project, as Bill said, but that project structure has not been finalized. Hopefully we can get my Prism components merged in during the coming weeks.

Cheers,
Mike
Posted 14 years ago by Jonesy
Avatar
Mike, is there a newer version of this?

Do you have any other examples?

Many many thanks for any help :-)

Jan.
Posted 14 years ago by Nate Hekman
Avatar
I keep checking back hoping there will be some updated code here... Any new ETA?

Nate
Posted 14 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar
Sorry we haven't had a chance to get into it just yet. Some other features that were repeatedly asked for by customers were higher priority. We still do plan on getting to it as a medium-high priority for Docking/MDI but I can't yet give an ETA.


Actipro Software Support

Posted 13 years ago by Chris
Avatar
I'm looking for a docking control that can be used within Prism 4, I found your control and checked out the functionality. The control worked well so I then moved on to see how well it is supported for Prism 4. I was looking for a prod standard support for, at minimum, Prism 2.2 but I can't find any recent information of posts on this.

I couldn't locate the Region Adapter written by Mike.

Do you have any demo application, support for Prism?

Thanks in advance
Posted 13 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar
Hi Chris,

Adding official support for Prism did get pushed back by a number of other products and features we've been adding, such as Silverlight Studio, the enormous updates to existing products in WPF Studio 2010.2, Ribbon Backstage support, etc.

Now that we've gotten past nearly all of the heavily requested products and features by customers, we hope to finally look into improved MVVM and some official Prism support soon. Keep an eye on our blog as we'll likely post any details there as they emerge.

Our SyntaxEditor Language Designer application uses Prism and Mike's region adapter but it's closed source for the time being. We've posted Mike's code here:
http://www.actiprosoftware.com/Prism.zip

We'll try and get an open-soruce sample up in the future.

[Modified at 11/03/2010 11:08 AM]


Actipro Software Support

Posted 13 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar
Hello all, we just made a blog post asking how much interest there is in an official Docking/MDI integration assembly with Prism:
Query on Prism (Composite WPF) Integration with Docking/MDI

If you'd like to see us add official support for Prism, please comment on the post. You can also e-mail us if you'd like to beta test the features ahead of release, if we do implement them.


Actipro Software Support

Posted 13 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar
It's official! WPF Studio 2011.1 has been launched with an included Prism 2.2 integration assembly.

Source for our Prism integration assembly can be found on our Codeplex site for those of you who need to recompile it to target Prism 4.0. We include both the 2.2 and 4.0-targeted projects there.


Actipro Software Support

The latest build of this product (v24.1.1) was released 1 month ago, which was after the last post in this thread.

Add Comment

Please log in to a validated account to post comments.