コード例 #1
0
        /// <summary>
        /// Changing property Height for gvMain and choosing, what to show -list or grid
        /// </summary>
        private void ShowHide()
        {
            if (sizeCorrection == null)
                sizeCorrection = new WindowsStandardClass();

            if (sizeCorrection.Count(Window.Current.Bounds.Height))
            {
                //days
                for (int i = 0; i < calGrid.Items.Count; i++)
                {
                    (calGrid.Items[i] as GridViewItem).Height = sizeCorrection.ItemSizeCorrector;
                    (calGrid.Items[i] as GridViewItem).Width = sizeCorrection.ItemSizeCorrector;
                    (calGrid.Items[i] as GridViewItem).FontSize = sizeCorrection.ItemFontSizeCorrector;

                    //holiday panel's items
                    if (i < HolidayList.Items.Count)
                    {
                        (HolidayList.Items[i] as ListViewItem).Height = sizeCorrection.ItemSizeCorrector;
                        (HolidayList.Items[i] as ListViewItem).Width = sizeCorrection.ItemSizeCorrector;
                        (HolidayList.Items[i] as ListViewItem).FontSize = sizeCorrection.ItemSizeCorrector / 3;
                    }

                    //weekdays
                    if (i < weekDayNames.Items.Count)
                    {
                        (weekDayNames.Items[i] as GridViewItem).Height = sizeCorrection.ItemSizeCorrector;
                        (weekDayNames.Items[i] as GridViewItem).Width = sizeCorrection.ItemSizeCorrector;
                        (weekDayNames.Items[i] as GridViewItem).FontSize = sizeCorrection.ItemSizeCorrector / 3;
                    }

                    //decade's items
                    if (gvDecades.Items.Count > 0 && i < 12)
                    {
                        (gvDecades.Items[i] as GridViewItem).Height = sizeCorrection.DecadeHeightCorrector;
                        (gvDecades.Items[i] as GridViewItem).Width = sizeCorrection.DecadeWidthCorrector;
                        (gvDecades.Items[i] as GridViewItem).FontSize = sizeCorrection.ItemFontSizeCorrector;
                    }
                }
                
                monthTopString.Width = sizeCorrection.MonthTopStringWidth;
                monthTopString.Height = sizeCorrection.ItemSizeCorrector;
                monthTopString.Margin = new Thickness(0, sizeCorrection.ItemSizeCorrector/2, 0, 0);
                monthNameButton.FontSize = sizeCorrection.ItemSizeCorrector / 3;
                
                calGrid.Width = sizeCorrection.MonthTopStringWidth;
                calGrid.Height = calGrid.Width;
                gvDecades.Width = sizeCorrection.MonthTopStringWidth;
                
                //NOTES PANEL---------------------------------------------------------
                HolidayTitle.FontSize = sizeCorrection.ItemSizeCorrector / 3;
                HolidayList.Height = sizeCorrection.ItemSizeCorrector + 20;
                scrollHolidays.Width = sizeCorrection.MonthTopStringWidth - sizeCorrection.ItemSizeCorrector;

                ClickedDayPage.Height = sizeCorrection.ItemSizeCorrector + 20;
                ClickedDayPage.Margin = monthTopString.Margin;
                ClickedDayPage.FontSize = monthNameButton.FontSize;
                noteList.Margin = new Thickness(0, sizeCorrection.ItemSizeCorrector/3, 0, 10);
                noteList.Height = sizeCorrection.ItemSizeCorrector * 8 - 90;

                DatePickerDp.FontSize = sizeCorrection.ItemFontSizeCorrector / 2.5;
                GoToDateBtn.FontSize = DatePickerDp.FontSize;
                GoToDateBtn.Height = GoToDate.ActualHeight - 4;
                GoToDateBtn.MinWidth = DatePickerDp.ActualWidth / 1.9;
                AdStack.Margin = new Thickness(0, sizeCorrection.ItemSizeCorrector / 2, 0, sizeCorrection.ItemSizeCorrector / 2);   
            }

                //of width
            if (Window.Current.Bounds.Width / 3 > sizeCorrection.MonthTopStringWidth)
                {
                    calBack.Width = Window.Current.Bounds.Width / 3;
                    noteGridMain.Width = calBack.Width * 2;
                    noteGridMain.Margin = new Thickness(calBack.Width, 0, 0, 0);
                    support.Visibility = Windows.UI.Xaml.Visibility.Visible;
                }
            else if (Window.Current.Bounds.Width / 2 > sizeCorrection.MonthTopStringWidth)
                {
                    calBack.Width = Window.Current.Bounds.Width / 2;
                    noteGridMain.Width = calBack.Width;
                    noteGridMain.Margin = new Thickness(calBack.Width, 0, 0, 0);
                    support.Visibility = Windows.UI.Xaml.Visibility.Visible;
                }
                else
                {
                    calBack.Width = monthTopString.Width + 50;
                    noteGridMain.Width = calBack.Width * 2;
                    noteGridMain.Margin = new Thickness(calBack.Width, 0, 0, 0);
                    support.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
                }

            calBack.Height = Window.Current.Bounds.Height;
            noteGridMain.Height = Window.Current.Bounds.Height;      
        }
コード例 #2
0
        /// <summary>
        /// Fill calendar (days only)
        /// </summary>
        public void FillCalendar()
        {
#if WINDOWS_PHONE_APP
            StandardClass standard = new StandardClass();
#else
            //a flag for initial sizing
            bool flag = false;
            if (sizeCorrection == null)
            {
                sizeCorrection = new WindowsStandardClass();
                flag = sizeCorrection.Count(Window.Current.Bounds.Height);
            }
#endif
            monthNameButton.Content = LocalDataManager.calBase.SelectedDate.Date.ToString("MMMM yyyy").ToLower();

            //from first to last day in a month
            int jj = (LocalDataManager.Start == 7) ? LocalDataManager.Start : 0;

            //styles and brushes for day-items
            Style adjStyle = (Style)this.Resources["AdjMonthStyle"];
            Style dayStyle = (Style)this.Resources["ThisMonthStyle"];
            Brush DayFg = new SolidColorBrush(Colors.White);

            //fill calendar
            ObservableCollection<GridViewItem> gviCalSource = new ObservableCollection<GridViewItem>();
            GridViewItem gvItem;
            
            for (int i = 0; i < 42; i++)
            {
                //a day
                gvItem = new GridViewItem()
                {
                    Content = LocalDataManager.calBase.Month[i],

                    //sizing
#if WINDOWS_PHONE_APP
                    Height = standard.ItemSizeCorrector,
                    Width = standard.ItemSizeCorrector,
                    FontSize = standard.ItemFontSizeCorrector
#else
                    Height = sizeCorrection.ItemSizeCorrector,
                    Width = sizeCorrection.ItemSizeCorrector,
                    FontSize = sizeCorrection.ItemFontSizeCorrector,
                    Padding = new Thickness(0, sizeCorrection.ItemSizeCorrector / 5, 0, sizeCorrection.ItemSizeCorrector / 5)
#endif
                };

#if WINDOWS_PHONE_APP
                gvItem.Tapped += gvItem_Tapped;
#else
                gvItem.Tapped += Day_Tapped;
#endif
                //adjMonths
                if (i < LocalDataManager.Start || i >= LocalDataManager.End)
                    gvItem.Style = adjStyle;
                else
                {
                    gvItem.Style = dayStyle;
                    gvItem.Foreground = DayFg;
                }

                gviCalSource.Add(gvItem);
            }
            calGrid.ItemsSource = gviCalSource;

#if !WINDOWS_PHONE_APP
            if (flag)
                sizeCorrection = null;
#endif
        }