LogoLogo
HomeSupportDocumentation
  • Welcome
  • Discovering Wisej.NET
    • Introduction to Wisej.NET
    • Create an application with Wisej.NET
    • Drawing surfaces, objects, and widgets
    • "Wisej Pubs Demo App", an application for beginners
  • Wisej.NET for Business Applications
    • The Easy Button for Enterprise Software
    • Dino Esposito: "There is no silver bullet"
    • Building a Simple app with Wisej.NET Hybrid
    • Implementing Themes with Wisej.NET
  • Wisej.NET Application Architectures
    • Wisej.NET vs. MVC
    • Wisej.NET vs Blazor
    • Architecting 21st Century Web Apps using Wisej.NET
      • Model-View-Controller Approach (MVC) with Wisej.NET
      • Model-View-ViewModel (MVVM) Approach with Wisej.NET
      • MVC vs MVVM: Similarities and Differences
    • Going Native with Wisej.NET Hybrid
  • Data Access with Wisej.NET
    • Using Wisej.NET to Access Blob Storage with Microsoft Azure
    • Capture user input with two-way binding
    • Let's make your data visible using Wisej.NET and the DataGridView
  • Integrating with Wisej.NET
    • How to get started with Telerik's Data Grid
    • How to use Telerik to speed up your Wisej.NET development
    • SCADA Systems on the Web with Wisej.NET
  • Legacy Migration with Wisej.NET
    • Migrate Windows Desktop Applications to the Web with Wisej.NET
    • The Future of Line-of-Business Applications
    • Life Beyond WinForms
    • Hands on: Modernize WinForms & WPF solutions with Wisej.NET
    • Hands on: Migrate WPF solutions into native Web-based Single-Page-Applications
      • Initial situation: Desktop application with Windows Presentation Foundation
      • Model-View-ViewModel (MVVM) pattern as an architectural pattern
      • Wisej.NET Web Apps
      • WPF Migration
      • Conclusion
    • iX Magazine: From Desktop to Web app with Wisej.NET
  • Authors
    • Dino Esposito
    • Gabriele del Giovine
    • Jon Hilton
    • Julie Hirt
    • Dr. Veikko Krypczyk
    • Jeremy Likness
    • Iulia Pitutiu
    • Levie Rufenacht
    • Thomas Althammer
  • Videos
  • Concepts
Powered by GitBook
LogoLogo

© Ice Tea Group LLC, All Rights Reserved.

On this page

Was this helpful?

Edit on GitHub
Export as PDF
  1. Legacy Migration with Wisej.NET
  2. Hands on: Migrate WPF solutions into native Web-based Single-Page-Applications

Model-View-ViewModel (MVVM) pattern as an architectural pattern

PreviousInitial situation: Desktop application with Windows Presentation FoundationNextWisej.NET Web Apps

Last updated 10 months ago

Was this helpful?

The MVVM pattern is a common architectural approach in WPF applications. It separates application logic (Model), the user interface (View), and binding logic (ViewModel)

Model represents the business logic and data of the application. It is independent of the user interface and does not know how the data is presented. View is the user interface and describes how the data is displayed. It mainly consists of XAML and defines the layout and visual elements of the application. It is bound to the ViewModel. Examples of view content are XAML files that define layouts and UI elements such as Buttons, Text Boxes, and Lists. The ViewModel acts as a link between the View and Model. It contains the binding logic and commands that enable interaction between the user interface and the model. The ViewModel presents the Model's data in a form suitable for binding to the View and responds to user interactions by executing commands. It implements the INotifyPropertyChanged interface to send notifications of data changes to the View and contains commands to process user actions.

The goal is to migrate without fundamentally changing the application layers.

Figure 1: The MVVM pattern for separating application layers.