Ocean Framework Released – MVVM for WPF Line of Business Update



As part of my new MVVM articles, I’m posting the Ocean Framework source code.  The Ocean Code Generation pieces will follow in February.

The M-V-VM Home Page has been updated.

The WPF Line of Business – Demo Application Source has been posted.  (Ocean Framework source is part of this.)

The WPF Line of Business – Introduction as been posted.

This series of MVVM articles targets those unfamiliar with MVVM or who are learning this wonderful WPF UI Design Pattern.


I hope you find this material useful and can learn more about MVVM and WPF from it.

Have a great day!

Just a grain of sand on the worlds beaches.

4 Responses to Ocean Framework Released – MVVM for WPF Line of Business Update

  1. mrjbj says:

    I am very impressed but struggling to wrap my mind around all of this stuff. I have gone through the code and created class diagrams for the full framework and put them into a PPT. Let me know if you would like a copy, if interested. here are some of my questions that came up while I was working through the code. I still haven’t figured out how to actually get a table added to this framework yet, but I sure can’t wait until I figure out how to do it. Thank you for sharing your work.

    – In NavigateKey, don’t understand the use of Shadow. The class is non inheritable and not derived, what is the danger of that function getting altered somehow?
    – Don’t know what OptionViewModel is, perhaps some sort of dashboard thing.
    – In ViewModelBase, not sure how the PropertyChanged event ever gets raised. Perhaps by the protected IViewManagerService? not sure how this would happen, though.
    – Why the WithEvents in the declaration of ObservableCollection for _objViews in ViewManager
    – Why does MaintenanceFormViewModel base derive from ViewModelBase rather than CloseableViewModel?
    – it’s adding the Close command again, right?
    – Why even have the CloseableViewModel, why not just ViewModelBase, DialogViewModel and MaintenanceFormViewModel
    7. Why is EditFormViewBase not derived from viewModelBase? Doesn’t it need to be visible to the ViewManagerUIServices for canClose functionality?
    8. Why does LoadDataColumns have a SynchLock on it? Would appreciate advice on when I need to worry about this?
    9. How do you generate your stored procedures? How did you figure out how to automatically populate the connection string in the app.config file from my desktop setup?

    • mrjbj,

      Thanks for your interest and questions. I’ll take this off-line with you.

      I’ll email you Monday/Tuesday. Nice list of questions.



    • mrjbj,

      Sorry I’ve been so busy these past few weeks. No time for me either.

      OptionViewModel is something I created for this: http://www.codeproject.com/KB/WPF/InternationalizedWizard.aspx

      ViewModelBase – this can get called from any deriving type

      WithEvents is a VB.NET thing. Look this up in the MSDN docs.

      LoadDataColumns provides thread safety in case the same record is being read for the very first time by multiple threads.

      How do you generate your stored procedures: I wrote a program to do this, along with all my entites, business and data layer code too.

      Shadows complely obscures Equals. Since I can’t override it, I have to shadow it.

      As far as base classes, this how I did it. Feel free to change as you see fit. I just didn’t want to have repeated code. I’m not sure I like them the way they are either.

      Have a great day,


  2. […] Ocean. Не знаком, но хвалят. Ответить Комментировать Спросил Alexander 149 дн., 11 час., 13 мин. назад […]


Get every new post delivered to your Inbox.

Join 255 other followers