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 6922541
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T10:25:11+00:00 2026-05-27T10:25:11+00:00

I have need of a view model that tracks changes so the user can

  • 0

I have need of a view model that tracks changes so the user can see things visually change in response to edits and rollback portions. Right now, I “turn on” change tracking as the last step in the constructor for the view model (necessary, because sometimes the view models are constructed from templates or have defaulting logic that triggers PropertyChanged before construction is complete, erroneously leading one to think it’s changed even before the user has done anything).

This has worked for the most part,

  • but with more complicated controls, bindings, and lack of controlling the order for various events in third-party products
  • and, a need to turn on change tracking after view model is built from a DTO returned from a service call (i.e. the model-model),

is there a better place to turn-on change tracking?

  • 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-27T10:25:11+00:00Added an answer on May 27, 2026 at 10:25 am

    In an ideal MVVM implementation there’s neither better nor alternative place, because you aren’t likely to know when or how a view communicates with a view model. In fact, a view model shouldn’t know anything about a view. A view might be a Silverlight UI or a console app, or a test mock-up, or whatever else. According to general thoughts then, constructor seems to be the only place where ‘change tracking’ should be disabled.

    If you try following the MVVM strictly, you should accept your view models as main objects and views as secondary ones. I mean a view shouldn’t introduce any logic that doesn’t relate to the specific view implementation. It only displays the current view model state and communicates a user’s actions to the view model. If it’s true, then you won’t need to turn change tracking off wherever except the constructor.

    Of course, in the real world this might get rather difficult to follow. If you can’t find another solution, you could introduce additional properties to the view model, e.g. IsViewInitialized, which would turn on ‘change tracking’, and make the view set the property as required.

    But you’d better avoid this as long as possible. Such an approach increases coupling between Views and ViewModels which is against one of the main ideas of the MVVM pattern.

    If you’d ask me in personal, my view models quite rarely have an alternative logic for the initialization steps and if they do, it’s only in the constructors. And I usually don’t ‘turn off change tracking’ but rather set some fields directly to get around the regular change tracking code that for most cases resides in property setters. But sometimes it’s more convinient to trigger that logic for some properties even in a constructor.

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

Sidebar

Related Questions

I have a View Model that has some serious nesting. I need to populate
I have an arraylist namelist in my model and in my view I need
I have a number of view specs that need certain methods to be stubbed.
I have a simple table view which is editable. All I need the user
I have a lotus view that stores a number. I need to perform some
I need to have a command handler for a ToggleButton that can take multiple
I have a view that contains a javascript function that i need to init/call
When I have a View Model setup with an ImportingConstructor that takes a single
I have a view model ViewModel1 that has all of the proerties for my
I have a couple of properties in my view model that are display-only but

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.