Periodic action

A periodic action is a ViewModel action that runs automatically over and over again when the Disabled expression is False.

In the ViewModel editor:

Example of periodic action.png

You typically use this for:

  • Refreshing a view in WPF with selfVM.Refresh if, for example, your root object is in a state that changes server side.
  • Automatically navigate on a change in the database (for example, after login when a current user has been set).
  • Updating a calculated value or transient collection/association that you show on the screen.
    • If you want the persisted attribute A to get assigned to the derived attribute B, you can do so with a periodic action that starts whenever self.A<>self.B. Set the Disabled expression to self.A=self.B (this way it does NOT run when A=B, only when A<>B). In the action expression, you then assign B to A with the expression self.A:=self.B. Set Interval to a number X and the disable expression will become false when B is updated; X milliseconds after B gets a new value, the action will execute, and A will now become equal to B, and then the disable expression again is true, and the action rests.
    • The periodic action is a good way to detect changes that are not easily connected to user action. If you have a user entering a value and you want to do something upon apply, you can also do this with a reversederived attribute.

See also MDrivenServer periodic server-side actions which is a different thing, but usually works in conjunction with ViewModel periodic actions.

This page was edited 0 days ago on 05/03/2024. What links here