Eto.Forms MVVM how to update bindings

Hello everyone,
I’m currently coming to grips with proper UI building using Eto.Forms.
I’ve separated my Controls from the Model via a View model class:

public class ViewModel : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;
    public void OnPropertyChanged([CallerMemberName] String propertyName = "")
    {
        PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
        
    }
    string tempNumStart; 
    public string NumStart
    {
        get { return tempNumStart; }
        set
        {
            if (tempNumStart != value)
            {
                tempNumStart = value;
                SharedParameters.SetIntEtoText(
                    SharedParameters.keyNumStart,
                    SharedParameters.keyNumDigits,
                    SharedParameters.GetInt(SharedParameters.keyNumDigits, 
                    SharedParameters.defNumDigits),
                    SharedParameters.defNumStart,
                    tempNumStart);
                OnPropertyChanged();
            }
        }
    }
 }

My textbox eto_numStart is bound to NumStart below:

eto_numStart.Bind<string>("Text", ViewModel, "NumStart", DualBindingMode.TwoWay);

The view model is calling the following method, part of a static class, which is supposed to be the ‘Model’ part in MVVM:

public static void SetIntEtoText(string Key, string KeyLength, int lastValue, int defaultValue, string 
    LatestInteger)
    {
        Rhino.PersistentSettings PluginSettings = Rhino.PlugIns.PlugIn.GetPluginSettings(PluginID, 
     false);

        int tempInt = Convert.ToInt32(LatestInteger);
        int tempLength = tempInt.ToString().Length;
            
        PluginSettings.SetInteger(KeyLength, tempLength);
        PluginSettings.SetInteger(Key, tempInt);
        return;
    }

The Eto Panel uses a rhino command which it calls via RunScript. The Eto ViewModel and the command both call on keys in PluginSettings (the Model) to retrieve and write shared parameters.

I would like to be able to run the command in parallel to the panel being open and if options in the command are changed, then that should immediately trigger the bindings in the eto controls. Currently this isn’t happening and the only way the panel updates is if I remove it from the docked tabs and basically reload it.

I’ve tried Rhino.UI.Panels.ClosePanel & Rhino.UI.Panels.OpenPanel with no success, tried updating the bindings on controls but nothing triggers the bindings on the ViewModel to update.

So my first question is: Am I doing things correct so far or am I missing something on the ‘Model’ part which triggers the ViewModel?

And my second would be: How can I link one eto control binding to another so that it triggers it to update its values?

Thanks,
Radu