예제 #1
0
        partial void Initialize()
        {
#if !NETSTANDARD2_0
            _layouter = new FrameworkElementLayouter(this, MeasureOverride, ArrangeOverride);
#endif
            Resources = new Windows.UI.Xaml.ResourceDictionary();

            IFrameworkElementHelper.Initialize(this);
        }
 protected override void OnElementChanged(ElementChangedEventArgs <Entry> e)
 {
     base.OnElementChanged(e);
     if (Control != null)
     {
         Windows.UI.Xaml.ResourceDictionary dic = new Windows.UI.Xaml.ResourceDictionary();
         dic.Source    = new Uri("ms-appx:///rounded_corners.xaml");
         Control.Style = dic["RoundedEditorStyle"] as Windows.UI.Xaml.Style;
     }
 }
예제 #3
0
        partial void Initialize()
        {
#if !__WASM__
            _layouter = new FrameworkElementLayouter(this, MeasureOverride, ArrangeOverride);
#endif
            Resources = new Windows.UI.Xaml.ResourceDictionary();

            ((IDependencyObjectStoreProvider)this).Store.RegisterSelfParentChangedCallback((i, k, e) => InitializeStyle());

            IFrameworkElementHelper.Initialize(this);
        }
예제 #4
0
        public WeekView()
        {
            resources = Resources;
            DateTime now = DateTime.Now;

            for (int i = 0; i < week.Length; i++)
            {
                week[i] = new List <DisplayClass>();
            }

            List <ClassInstance> classList = Data.classInstances;

            foreach (var @class in classList)
            {
                week[(int)@class.weekDay].Add(new DisplayClass(@class));
            }

            for (int i = 0; i < Data.tasks.Count; i++)
            {
                Task task = Data.tasks[i];
                if (task.deadline < now)
                {
                    Data.ArchiveTask(task);
                    i--;
                }
                else
                {
                    if ((int)task.deadline.DayOfWeek <= 5 && (int)task.deadline.DayOfWeek > 0)
                    {
                        week[(int)task.deadline.DayOfWeek - 1].Add(new DisplayClass(task));
                    }
                    else
                    {
                        week[5].Add(new DisplayClass(task));
                    }
                }
            }


            for (int i = 0; i < week.Length; i++)
            {
                week[i] = week[i].OrderBy(x => x.classInstance != null ? x.classInstance.from : x.taskInstance.deadline.TimeOfDay).ToList();
            }

            this.InitializeComponent();

            gridViewMonday.ItemsSource    = week[0];
            gridViewTuesday.ItemsSource   = week[1];
            gridViewWednesday.ItemsSource = week[2];
            gridViewThursday.ItemsSource  = week[3];
            gridViewFriday.ItemsSource    = week[4];
            gridViewWeekend.ItemsSource   = week[5];
        }
예제 #5
0
        public WeekView()
        {
            resources = Resources;
            DateTime now = DateTime.Now;
            for (int i = 0; i < week.Length; i++)
                week[i] = new List<DisplayClass>();

            List<ClassInstance> classList = Data.classInstances;

            foreach (var @class in classList)
                week[(int)@class.weekDay].Add(new DisplayClass(@class));

            for (int i = 0; i < Data.tasks.Count; i++) {
                Task task = Data.tasks[i];
                if (task.deadline < now) {
                    Data.ArchiveTask(task);
                    i--;
                }
                else {
                    if ((int)task.deadline.DayOfWeek <= 5 && (int)task.deadline.DayOfWeek > 0)
                        week[(int)task.deadline.DayOfWeek - 1].Add(new DisplayClass(task));
                    else
                        week[5].Add(new DisplayClass(task));
                }

            }

            for (int i = 0; i < week.Length; i++)
                week[i] = week[i].OrderBy(x => x.classInstance != null ? x.classInstance.from : x.taskInstance.deadline.TimeOfDay).ToList();

            this.InitializeComponent();

            gridViewMonday.ItemsSource = week[0];
            gridViewTuesday.ItemsSource = week[1];
            gridViewWednesday.ItemsSource = week[2];
            gridViewThursday.ItemsSource = week[3];
            gridViewFriday.ItemsSource = week[4];
            gridViewWeekend.ItemsSource = week[5];
        }
예제 #6
0
        public Values()
        {
            App.Database.GetVariableEvents("LogFontSizeUI").Updated += LogFontSizeUI_Updated;
            App.Database.TryGetVariable("LogFontSizeUI", int.TryParse, out int LogFontSizeUI);
            UpdateFontsize(LogFontSizeUI);

#if !__WINDOWS__
            // Andriod and iOS uses Xamarin Forms theme
            switch (App.Theme)
            {
            default:
            case "light":
                MergedWith = typeof(Xamarin.Forms.Themes.LightThemeResources);
                break;

            case "dark":
                MergedWith = typeof(Xamarin.Forms.Themes.DarkThemeResources);
                break;
            }
#else
            var thm = App.Theme.Substring(0, 1).ToUpper() + App.Theme.Substring(1);
            if (!Windows.UI.Xaml.Application.Current.Resources.ThemeDictionaries.TryGetValue("Default", out var omd))
            {
                Windows.UI.Xaml.Application.Current.Resources.ThemeDictionaries.Add("Default", omd = new Windows.UI.Xaml.ResourceDictionary());
            }
            var md = (Windows.UI.Xaml.ResourceDictionary)omd;
            md["SystemAccentColor"] = Colors.Highlight.Solid.High.ToWindows();
#endif

            var sets = new Dictionary <string, BaseColorSet>();
            foreach (var cat in typeof(Colors).GetRuntimeProperties())
            {
                ColorSet set = cat.GetValue(null) as ColorSet;
                if (set == null)
                {
                    continue;
                }
                sets.Add(cat.Name, set);

                foreach (var prop in set.GetType().GetRuntimeProperties())
                {
                    if (prop.GetValue(set) is BaseColorSet subset)
                    {
                        sets.Add(cat.Name + prop.Name, subset);
                    }
                }

                var color = (Color)set;
                Add(cat.Name + "Color", color);
#if __WINDOWS__
                md[cat.Name + "Color"] = new Windows.UI.Xaml.Media.SolidColorBrush(color.ToWindows());
#endif
            }

            foreach (var kp in sets)
            {
                foreach (var prop in kp.Value.GetType().GetRuntimeProperties())
                {
                    object o = prop.GetValue(kp.Value);
                    if (o is null)
                    {
                        continue;
                    }
                    Color color;
                    if (o.GetType() == typeof(ColorSet))
                    {
                        color = (Color)(ColorSet)o;
                    }
                    else if (o.GetType() == typeof(Color))
                    {
                        color = (Color)o;
                    }
                    else
                    {
                        continue;
                    }

                    Add(kp.Key + prop.Name + "Color", color);
#if __WINDOWS__
                    md[kp.Key + prop.Name + "Color"] = new Windows.UI.Xaml.Media.SolidColorBrush(color.ToWindows());
#endif
                }
            }

            foreach (var prop in typeof(Icons).GetRuntimeProperties())
            {
                var icon = prop.GetValue(null) as string;
                if (icon is null)
                {
                    continue;
                }
                Add(prop.Name + "Icon", icon);
#if __WINDOWS__
                md[prop.Name + "Icon"] = icon;
#endif
            }
        }
예제 #7
0
        private void AddDictionaryContent(IParsingSourceStream sourceStream, ResourceDictionary wrapped, Windows.UI.Xaml.ResourceDictionary dictionary, List <string> FileNames)
        {
            foreach (object Key in dictionary.Keys)
            {
                if (!wrapped.Contains(Key))
                {
                    wrapped.Add(Key, dictionary[Key]);
                }
                else
                {
                    throw new ParsingException(92, sourceStream, $"Key '{Key}' found multiple times.");
                }
            }

            foreach (Windows.UI.Xaml.ResourceDictionary Item in dictionary.MergedDictionaries)
            {
                if (Item.Source != null)
                {
                    IParsingSourceStream NestedSourceStream = ParsingSourceStream.CreateFromFileName(Item.Source.AbsolutePath, sourceStream.ConditionalDefineTable);

                    ResourceDictionary NestedContent;
                    List <string>      NestedFileNames;
                    LoadResourceFile(NestedSourceStream, out NestedContent, out NestedFileNames);

                    AddDictionaryContent(NestedSourceStream, wrapped, NestedContent);
                    FileNames.AddRange(NestedFileNames);
                }
            }
        }
예제 #8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ResourceDictionary"/> class, a
 /// Wpf-enabled wrapper for <see cref="Windows.UI.Xaml.ResourceDictionary"/>
 /// </summary>
 public ResourceDictionary(Windows.UI.Xaml.ResourceDictionary instance)
 {
     this.UwpInstance = instance;
 }
예제 #9
0
 public void LoadResources(Uri uri)
 {
     Resources = new windows.UI.Xaml.ResourceDictionary {
         Source = uri
     };
 }