Ejemplo n.º 1
0
        public static void ApplyMaterialDesignPack(UserControls.FormControl formControl)
        {
            var md = formControl.Resources.MergedDictionaries;

            MDPacks.ForEach(pack =>
            {
                var resourceDictionary = md.Any(dictionary => dictionary.Source.AbsoluteUri == pack);

                if (resourceDictionary == false)
                {
                    var mr1 = new ResourceDictionary
                    {
                        Source = new Uri(
                            pack,
                            UriKind.Absolute)
                    };
                    formControl.Resources.MergedDictionaries.Add(mr1);
                }
            });

            var BI = new BundledTheme
            {
                BaseTheme      = BaseTheme.Dark,
                PrimaryColor   = PrimaryColor.Grey,
                SecondaryColor = SecondaryColor.Orange
            };

            formControl.Resources.MergedDictionaries.Add(BI);
        }
        public void WhenValueIsMissingThemeIsNotSet(BaseTheme?baseTheme, PrimaryColor?primaryColor, SecondaryColor?secondaryColor)
        {
            //Arrange
            var bundledTheme = new BundledTheme();

            //Act
            bundledTheme.BaseTheme      = baseTheme;
            bundledTheme.PrimaryColor   = primaryColor;
            bundledTheme.SecondaryColor = secondaryColor;

            //Assert
            Assert.Throws <InvalidOperationException>(() => bundledTheme.GetTheme());
        }
Ejemplo n.º 3
0
        //Comprueba el tema actual
        private void EsTemaOscuro()
        {
            BundledTheme bundled = (BundledTheme)App.Current.Resources.MergedDictionaries.First();

            if (Properties.Settings.Default.TemaOscuro)
            {
                bundled.BaseTheme = BaseTheme.Dark;
            }
            else
            {
                bundled.BaseTheme = BaseTheme.Light;
            }
        }
        // //////////////////////////////////
        // FRONT END
        // //////////////////////////////////

        // Controla cual es el logo mostrado, el de tema claro u oscuro
        private void ComprobarLogo()
        {
            BundledTheme bundled = (BundledTheme)App.Current.Resources.MergedDictionaries.First();

            if (bundled.BaseTheme == BaseTheme.Dark)
            {
                MiniLogo.Source = new BitmapImage(new Uri("/Resources/LogoOscuro.png", UriKind.Relative));
            }
            else
            {
                MiniLogo.Source = new BitmapImage(new Uri("/Resources/LogoClaro.png", UriKind.Relative));
            }
        }
Ejemplo n.º 5
0
 static MaterialDesignHelper()
 {
     if (_bundledTheme.IsNull())
     {
         foreach (var dictionary in Application.Current.Resources.MergedDictionaries)
         {
             if (dictionary is BundledTheme bundledTheme)
             {
                 _bundledTheme = bundledTheme;
                 break;
             }
         }
     }
 }
Ejemplo n.º 6
0
        public MainWindow()
        {
            InitializeComponent();

            _currentMaterialDesignTheme = Application.Current.Resources.MergedDictionaries
                                          .OfType <BundledTheme>().FirstOrDefault();

            PrimaryColorListView.ItemsSource
                = Enum.GetNames(typeof(MaterialDesignColors.PrimaryColor)).OrderBy(s => s);
            SecondaryColorListView.ItemsSource
                = Enum.GetNames(typeof(MaterialDesignColors.SecondaryColor)).OrderBy(s => s);

            PrimaryColorListView.SelectedItem   = "LightBlue";
            SecondaryColorListView.SelectedItem = "Indigo";
        }
Ejemplo n.º 7
0
        // Aqui falta implementar el metodo que hara el cambio de tema de claro a oscuro y viceversa.
        private void DarkModeToggle_Click(object sender, RoutedEventArgs e)
        {
            BundledTheme bundled = (BundledTheme)App.Current.Resources.MergedDictionaries.First();

            if (bundled.BaseTheme == BaseTheme.Dark)
            {
                bundled.BaseTheme = BaseTheme.Light;
                LogoImage.Source  = new BitmapImage(new Uri("/Resources/LogoClaro.png", UriKind.Relative));
            }
            else
            {
                bundled.BaseTheme = BaseTheme.Dark;
                LogoImage.Source  = new BitmapImage(new Uri("/Resources/LogoOscuro.png", UriKind.Relative));
            }
        }
        public void WhenAllValuesAreSetThemeIsSet()
        {
            //Arrange
            var bundledTheme = new BundledTheme();

            //Act
            bundledTheme.BaseTheme      = BaseTheme.Light;
            bundledTheme.PrimaryColor   = PrimaryColor.Purple;
            bundledTheme.SecondaryColor = SecondaryColor.Lime;

            //Assert
            ITheme theme = bundledTheme.GetTheme();

            Assert.Equal(SwatchHelper.Lookup[(MaterialDesignColor)PrimaryColor.Purple], theme.PrimaryMid.Color);
            Assert.Equal(SwatchHelper.Lookup[(MaterialDesignColor)SecondaryColor.Lime], theme.SecondaryMid.Color);
            Assert.Equal(Theme.Light.MaterialDesignBody, theme.Body);
        }
Ejemplo n.º 9
0
        //Cambia el tema actual. Si el tema es el oscuro, lo cambia al claro y viceversa.
        public void CambiaTema()
        {
            BundledTheme bundled = (BundledTheme)App.Current.Resources.MergedDictionaries.First();

            if (bundled.BaseTheme == BaseTheme.Dark)
            {
                bundled.BaseTheme = BaseTheme.Light;
                Properties.Settings.Default.TemaOscuro = false;
                Properties.Settings.Default.Save();
            }
            else
            {
                bundled.BaseTheme = BaseTheme.Dark;
                Properties.Settings.Default.TemaOscuro = true;
                Properties.Settings.Default.Save();
            }
        }