Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 668039
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T23:59:46+00:00 2026-05-13T23:59:46+00:00

We were building out the next version of an in-house thick-client application using WPF/Prism

  • 0

We were building out the next version of an in-house thick-client application using WPF/Prism (Composite Application Library). As we were nearly done with the client our team was put under new management and shortly thereafter:

  1. We were then directed to drop the Prism framework to keep things simple. This includes not using any type of Inversion of Control.

  2. We were directed to build out the WPF application without using MVVM or similar; and more along the lines of a traditional WinForm application. The idea is that if a developer sees a control in Visual Studio’s designer view, then (s)he should be able to click on the control and see exactly what it’s doing without having to traverse through a view-model (or similar).

  3. We have now been tasked with building out the WPF application using one primary Window, use a Frame Control to contain the content, and use a Ribbon outside of the frame for the menu items. Reason we were provided to use Frame Control:

    a. We will show a view in the Frame with a Page (not a user control) and then load the page in the Frame.

    b. When a new view is to be shown in the Frame, the current view (Page) will be closed/disposed and the new view (Page) will take its place in the Frame.

    c. When a developer looks at the Page in design view, (s)he will be able to click on any control and see exactly what is being done.

Given the restrictions of 1 and 2 above, we’d like to present another method of building out the application that:

  1. Can be presented as an alternative to using the “Frame Methodology” (item 3 above) but still provides the same type of functionality.

  2. Does not use MVVM (see #1 and #2 above).

Provided the direction we’ve been given, any suggestions as to an alternative we can present? I’d request that the responses be kept on the professional level and thank you in advance.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T23:59:46+00:00Added an answer on May 13, 2026 at 11:59 pm

    I’d personally try to argue to use Martin Fowler’s Presentation Model. (That’s a joke, btw…)

    Basically, you’re being given a restriction that says “Use WPF, but don’t use any of the features that make WPF usable.” It really sounds like your requirements are such that you would be much better off explaining, reasonably, the advantages of patterns like MVVM.

    It sounds like the weird requirements are really boiling down to this:

    The idea is that if a developer sees a control in Visual Studio’s designer view, then (s)he should be able to click on the control and see exactly what it’s doing

    If that’s the main issue, and the reason you’re avoiding MVVM and other similar patterns, I would seriously take the time to educate the management. Looking at a Command, by name, instead of an event, by name (which is what you see in the designer) is really no more difficult.

    However, in a large scale application, the separation of concerns is key. Even a properly designed Windows Forms application requires a clean separation of concerns – but with event based programming, this becomes much more difficult, especially from the designer. If you try to develop a large scale, clean, application using an event approach, you’ll have event handlers, but those event handlers will all eventually need to delegate their work to a separate component.

    This is actually adding an extra level of effort, from an understandability and maintenance point of view, on top of what you get with MVVM. With MVVM, you only look to the ViewModel, which is very discoverable.


    BTW – The “rationale” for using a Page instead of a UserControl doesn’t make any sense. You can do exactly the same thing you’re describing with UserControls… The only reason to use a Frame and Page is if you want to take advantage of navigation, in which case, you can’t dispose the old pages directly (or they get regenerated constantly). Also, the navigation tools probably wouldn’t be used with a ribbon – the two conceptual models are quite different.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm building out a medium-sized application using Sinatra and all was well when I
I'm building an XML document and printing out into an indented format using the
I'm building an entire application out of immutable objects so that multi-threading and undo
I am building an application that has the functionality like 3 tabs created using
I'm building the world's simplest library application. All I want to be able to
I am building a pop-out menu, and the client wants it to be able
I am building out some reporting stuff for our website (a decent sized site
I've spent a lot of time building out tests for my latest project, and
Im building a calendar and to find out the first day of the month
Has anyone out there got a good set of instructions for building/compiling Ruby from

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.