public void PropertyChanged_ViewModel(object sender, global::System.ComponentModel.PropertyChangedEventArgs e)
                {
                    ShellPage_obj1_Bindings bindings = TryGetBindingObject();

                    if (bindings != null)
                    {
                        string propName = e.PropertyName;
                        global::FluentFileExplorer.ViewModels.ShellViewModel obj = sender as global::FluentFileExplorer.ViewModels.ShellViewModel;
                        if (global::System.String.IsNullOrEmpty(propName))
                        {
                            if (obj != null)
                            {
                                bindings.Update_ViewModel_Selected(obj.Selected, DATA_CHANGED);
                                bindings.Update_ViewModel_DisplayMode(obj.DisplayMode, DATA_CHANGED);
                                bindings.Update_ViewModel_IsPaneOpen(obj.IsPaneOpen, DATA_CHANGED);
                            }
                        }
                        else
                        {
                            switch (propName)
                            {
                            case "Selected":
                            {
                                if (obj != null)
                                {
                                    bindings.Update_ViewModel_Selected(obj.Selected, DATA_CHANGED);
                                }
                                break;
                            }

                            case "DisplayMode":
                            {
                                if (obj != null)
                                {
                                    bindings.Update_ViewModel_DisplayMode(obj.DisplayMode, DATA_CHANGED);
                                }
                                break;
                            }

                            case "IsPaneOpen":
                            {
                                if (obj != null)
                                {
                                    bindings.Update_ViewModel_IsPaneOpen(obj.IsPaneOpen, DATA_CHANGED);
                                }
                                break;
                            }

                            default:
                                break;
                            }
                        }
                    }
                }
 public void UpdateChildListeners_ViewModel(global::FluentFileExplorer.ViewModels.ShellViewModel obj)
 {
     if (obj != cache_ViewModel)
     {
         if (cache_ViewModel != null)
         {
             ((global::System.ComponentModel.INotifyPropertyChanged)cache_ViewModel).PropertyChanged -= PropertyChanged_ViewModel;
             cache_ViewModel = null;
         }
         if (obj != null)
         {
             cache_ViewModel = obj;
             ((global::System.ComponentModel.INotifyPropertyChanged)obj).PropertyChanged += PropertyChanged_ViewModel;
         }
     }
 }
 private void Update_ViewModel(global::FluentFileExplorer.ViewModels.ShellViewModel obj, int phase)
 {
     this.bindingsTracking.UpdateChildListeners_ViewModel(obj);
     if (obj != null)
     {
         if ((phase & (NOT_PHASED | DATA_CHANGED | (1 << 0))) != 0)
         {
             this.Update_ViewModel_Selected(obj.Selected, phase);
             this.Update_ViewModel_DisplayMode(obj.DisplayMode, phase);
             this.Update_ViewModel_IsPaneOpen(obj.IsPaneOpen, phase);
         }
         if ((phase & (NOT_PHASED | (1 << 0))) != 0)
         {
             this.Update_ViewModel_PrimaryItems(obj.PrimaryItems, phase);
             this.Update_ViewModel_SecondaryItems(obj.SecondaryItems, phase);
             this.Update_ViewModel_ItemSelectedCommand(obj.ItemSelectedCommand, phase);
             this.Update_ViewModel_StateChangedCommand(obj.StateChangedCommand, phase);
         }
     }
 }