• Visit Rebornbuddy
  • ¿How do I preserve a user-setting?

    Discussion in 'Community Developer Forum' started by Elektrozoider, Apr 10, 2019.

    1. Elektrozoider

      Elektrozoider Member

      Joined:
      Jun 4, 2015
      Messages:
      114
      Likes Received:
      9
      Trophy Points:
      18
      Taking this simplified IPlugin interface as example:

      Code:
      namespace Test {
          public sealed class Plugin : IPlugin {
              public static VirtualKeys key = VirtualKeys.MouseButtonMiddle;
          }
      }
      With this simplified Config.cs:

      Code:
      namespace Test {
      
          public partial class Config {
      
              public static Window GetDisplayWindow() {
                  try {
                      // ...
                      UserControl mainControl = (UserControl)XamlReader.Load(new MemoryStream(Encoding.UTF8.GetBytes(xamlContent)));
                      Window window = new Window();
                      window.Content = mainControl;
                      // ...
                      ComboBox cb = (ComboBox)mainControl.FindName("CB_KEY");
                      // ...
                      window.ContentRendered += delegate {
                          cb.SelectedItem = Plugin.key.ToString();
                      };
                      // ...
                      cb.SelectionChanged += delegate {
                          Plugin.key = (VirtualKeys)Enum.Parse(typeof(VirtualKeys), cb.SelectedItem.ToString());
                      };
                   
                      return window;
                   
                  } catch (Exception ex) {
                      log.Error("[Test] Error opening Config window: " + ex);
                      return null;
                  }
              }
          }
      }
      The thing is that I would like to preserve the item that the user has selected in the ComboBox, instead of always loading the default initial value (VirtualKeys.MouseButtonMiddle) on next DemonBuddy startups. ¿How could I do this?.

      I mean, not sure how to use the settings infrastructure in the way that DemonBuddy compiles the source-files at runtime. So by the moment I'm using Xml serialization.
       
      Last edited: Apr 11, 2019

    Share This Page