Windows WPF client

The Windows WPF client consists of two logical parts.

Part 1

Part 1 is a 2-threaded listener and information tree builder that, by streaming changes from the Turnkey server, holds a local replica of the information in the ViewModel.

Whenever the user changes something in this replica, commands are generated, queued, and sent to the server, which in turn processes the commands and updates the main ViewModel-based information tree that lives on the server. The changes the server information tree sees generate commands that are collected by the client - and the client merges the changes into its own ViewModel information tree replica.

Part 2

Part 2 of the WPF client reads meta information about available main menu actions (Global actions) and also meta information per view it is set to display. Using this meta information - that really is just a condensate of the ViewModel definition from MDriven Designer - it builds a WPF-based UI with editboxes and other UI widgets. These widgets are databound to the replicated information tree described in Part 1.

The user edits information through the UI widgets - bound to the information tree - that generate client commands that are sent to the server at the earliest possible time, but always in the order they were created. These client commands are handled by the server and when applied, all effects and side effects that happen on the server generate server commands that the client fetches as soon as it sees any reason to ask.

The code for the WPF client is open and can be downloaded here: https://www.MDriven.net/PublicDownloads/MDrivenTurnkeyClientCode_20200821.zip

The build-date will change, and old files may be removed. Find the correct build date here: https://www.MDriven.net/PublicDownloads/MDrivenTurnkeyVersion.xml - take the date from that file and update the link yourself for the latest download.

Default ViewModel for the Application Background

If you name a ViewModel DefaultBackgroundViewModel, this ViewModel will be used as the application background.

This page was edited 47 days ago on 02/10/2024. What links here