public MainWindow()
        {
            InitializeComponent();

            Task.Factory.StartNew(() => Thread.Sleep(2500)).ContinueWith(t =>
            {
                //note you can use the message queue from any thread, but just for the demo here we
                //need to get the message queue from the snackbar, so need to be on the dispatcher
                MainSnackbar.MessageQueue.Enqueue("Welcome to Material Design In XAML Tookit");
            }, TaskScheduler.FromCurrentSynchronizationContext());

            DataContext = new MainWindowViewModel(MainSnackbar.MessageQueue);

            var paletteHelper = new PaletteHelper();
            var theme         = paletteHelper.GetTheme();

            DarkModeToggleButton.IsChecked = theme.GetBaseTheme() == BaseTheme.Dark;

            if (paletteHelper.GetThemeManager() is { } themeManager)
            {
                themeManager.ThemeChanged += (_, e)
                                             => DarkModeToggleButton.IsChecked = e.NewTheme?.GetBaseTheme() == BaseTheme.Dark;
            }

            Snackbar = MainSnackbar;
        }
예제 #2
0
        public IconViewModel()
        {
            // this._snackbarMessageQueue = snackbarMessageQueue ?? throw new ArgumentNullException(nameof(snackbarMessageQueue));

            this.SearchCommand = new RelayCommand(this.Search);

            this._packIconKinds = new Lazy <IEnumerable <GraphExplorer.Models.IconKindGroup> >(() =>
                                                                                               Enum.GetNames(typeof(PackIconKind))
                                                                                               .GroupBy(k => (PackIconKind)Enum.Parse(typeof(PackIconKind), k))
                                                                                               .Select(g => new GraphExplorer.Models.IconKindGroup(g))
                                                                                               .OrderBy(x => x.Kind)
                                                                                               .ToList());

            // Fill in the Paths to be used when rendering.
            foreach (var pi in this._packIconKinds.Value)
            {
                var kind = (PackIconKind)Enum.Parse(typeof(PackIconKind), pi.Kind);
                if (factory.ContainsKey(kind))
                {
                    pi.Path = factory[kind];
                }
            }

            var helper = new PaletteHelper();

            if (helper.GetThemeManager() is { } themeManager)
            {
                themeManager.ThemeChanged += this.ThemeManager_ThemeChanged;
            }
            this.SetDefaultIconColors();
        }
        public ThemeSettingsViewModel()
        {
            PaletteHelper paletteHelper = new PaletteHelper();
            ITheme        theme         = paletteHelper.GetTheme();

            IsDarkTheme = theme.GetBaseTheme() == BaseTheme.Dark;

            if (theme is Theme internalTheme)
            {
                _isColorAdjusted = internalTheme.ColorAdjustment is not null;

                var colorAdjustment = internalTheme.ColorAdjustment ?? new ColorAdjustment();
                _desiredContrastRatio = colorAdjustment.DesiredContrastRatio;
                _contrastValue        = colorAdjustment.Contrast;
                _colorSelectionValue  = colorAdjustment.Colors;
            }

            if (paletteHelper.GetThemeManager() is { } themeManager)
            {
                themeManager.ThemeChanged += (_, e) =>
                {
                    IsDarkTheme = e.NewTheme?.GetBaseTheme() == BaseTheme.Dark;
                };
            }
        }
        protected override void OnStartup(StartupEventArgs e)
        {
            XamlDisplay.Init();
            base.OnStartup(e);

            //Add/Update brush used by Dragablz when the theme changes
            //Solution for https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/issues/2349
            PaletteHelper helper = new PaletteHelper();

            if (helper.GetThemeManager() is { } themeManager)
            {
                themeManager.ThemeChanged += ThemeManager_ThemeChanged;
            }
        }
예제 #5
0
        public PaletteSelectorViewModel()
        {
            PaletteHelper paletteHelper = new PaletteHelper();
            ITheme        theme         = paletteHelper.GetTheme();

            this.IsDarkTheme = theme.GetBaseTheme() == BaseTheme.Dark;

            if (paletteHelper.GetThemeManager() is { } themeManager)
            {
                themeManager.ThemeChanged += (_, e) => {
                    this.IsDarkTheme          = e.NewTheme?.GetBaseTheme() == BaseTheme.Dark;
                    Settings.Default.DarkMode = this.IsDarkTheme;
                };
            }
        }
        public PopupBox()
        {
            InitializeComponent();

            var paletteHelper = new PaletteHelper();
            var theme         = paletteHelper.GetTheme();

            DarkModeToggleButton.IsChecked = theme.GetBaseTheme() == BaseTheme.Dark;

            if (paletteHelper.GetThemeManager() is { } themeManager)
            {
                themeManager.ThemeChanged += (_, e)
                                             => DarkModeToggleButton.IsChecked = e.NewTheme?.GetBaseTheme() == BaseTheme.Dark;
            }
        }
예제 #7
0
        public PaletteSelectorViewModel()
        {
            Swatches = new SwatchesProvider().Swatches;

            PaletteHelper paletteHelper = new PaletteHelper();
            ITheme        theme         = paletteHelper.GetTheme();

            IsDarkTheme = theme.GetBaseTheme() == BaseTheme.Dark;

            if (paletteHelper.GetThemeManager() is { } themeManager)
            {
                themeManager.ThemeChanged += (_, e) =>
                {
                    IsDarkTheme = e.NewTheme?.GetBaseTheme() == BaseTheme.Dark;
                };
            }
        }
예제 #8
0
        protected override async void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            BlobCache.ApplicationName = Constants.AppName;

            paletteHelper = new PaletteHelper();
            paletteHelper.GetThemeManager().ThemeChanged += OnThemeChanged;

            SetThemeColors(paletteHelper.GetTheme());

            var settings = await UserSettings.Get();

            paletteHelper.SetTheme(settings.Theme);

            Resources["ErrorTextColor"] = new SolidColorBrush(SwatchHelper.Lookup[MaterialDesignColor.Red]);
        }
        public Departments2Window()
        {
            InitializeComponent();

            var paletteHelper = new PaletteHelper();
            var theme         = paletteHelper.GetTheme();

            DarkModeToggleButton.IsChecked = theme.GetBaseTheme() == BaseTheme.Dark;

            if (paletteHelper.GetThemeManager() is { } themeManager)
            {
                themeManager.ThemeChanged += (_, e)
                                             => DarkModeToggleButton.IsChecked = e.NewTheme?.GetBaseTheme() == BaseTheme.Dark;
            }

            proguctsGrid2.Visibility = Visibility.Visible;
            LoadRequestsDepart();
        }
예제 #10
0
        public void OnLoaded()
        {
            Swatches = new SwatchesProvider().Swatches.ToList();

            //Swatches.Add(new Swatch("default", primaryHues, accentHues);)

            PaletteHelper paletteHelper = new PaletteHelper();
            ITheme        theme         = paletteHelper.GetTheme();

            IsDarkTheme = theme.GetBaseTheme() == BaseTheme.Dark;

            if (paletteHelper.GetThemeManager() is { } themeManager)
            {
                themeManager.ThemeChanged += (_, e) =>
                {
                    IsDarkTheme = e.NewTheme?.GetBaseTheme() == BaseTheme.Dark;
                };
            }
        }
예제 #11
0
    public App()
    {
        UpgradeSettings();

        var config = new ConfigurationBuilder()
                     .SetBasePath(System.IO.Directory.GetCurrentDirectory())
                     .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                     .Build();

        LogManager.Configuration = new NLogLoggingConfiguration(config.GetSection("NLog"));

        SimpleInjectorConfig.Config(config);

        var helper = new PaletteHelper();

        if (helper.GetThemeManager() is { } themeManager)
        {
            themeManager.ThemeChanged += OnThemeManagerThemeChanged;
        }
    }
        public IconPackViewModel(ISnackbarMessageQueue snackbarMessageQueue)
        {
            _snackbarMessageQueue = snackbarMessageQueue ?? throw new ArgumentNullException(nameof(snackbarMessageQueue));

            OpenDotComCommand = new AnotherCommandImplementation(OpenDotCom);
            SearchCommand = new AnotherCommandImplementation(Search);
            CopyToClipboardCommand = new AnotherCommandImplementation(CopyToClipboard);

            _packIconKinds = new Lazy<IEnumerable<PackIconKindGroup>>(() =>
                Enum.GetNames(typeof(PackIconKind))
                    .GroupBy(k => (PackIconKind)Enum.Parse(typeof(PackIconKind), k))
                    .Select(g => new PackIconKindGroup(g))
                    .OrderBy(x => x.Kind)
                    .ToList());

            var helper = new PaletteHelper();
            if (helper.GetThemeManager() is { } themeManager)
            {
                themeManager.ThemeChanged += ThemeManager_ThemeChanged;
            }
            SetDefaultIconColors();
        }