public void SetTime(SortedList <DateTime, TimePosInfo> timeList) { try { stackPanel_day.Children.Clear(); stackPanel_time.Children.Clear(); if (timeList.Count == 0) { return; } //DateTime nowTime = System.DateTime.Today.AddDays(-1); // 当日じゃ嫌な人はこちらで日数調整を DateTime nowTime = System.DateTime.Today; // 当日を求める int startIdx = 0; while (timeList.Values[startIdx].Time < nowTime) { startIdx++; if (startIdx >= timeList.Count) { return; // 当日以降のデータが無い? } } TimePosInfo startPos = timeList.Values[startIdx]; DateTime startTime = startPos.Time; TimePosInfo endPos = timeList.Values[timeList.Count - 1]; DateTime endTime = endPos.Time; DateTime itemTime = new DateTime(startTime.Year, startTime.Month, startTime.Day, 0, 0, 0); while (itemTime < endTime) { Button day = new Button(); if (Settings.Instance.NoStyle == 0) { day.Style = (Style)App.Current.Resources["ButtonStyle1"]; } day.Width = 120; day.Content = itemTime.ToString("M/d(ddd)"); if (itemTime.DayOfWeek == DayOfWeek.Saturday) { day.Foreground = Brushes.Blue; } else if (itemTime.DayOfWeek == DayOfWeek.Sunday) { day.Foreground = Brushes.Red; } day.DataContext = itemTime.AddMinutes(30); // 30分なら日付だけ変更して時刻はそのままとする day.Click += new RoutedEventHandler(button_time_Click); stackPanel_day.Children.Add(day); Button hour0 = new Button(); if (Settings.Instance.NoStyle == 0) { hour0.Style = (Style)App.Current.Resources["ButtonStyle1"]; } hour0.Width = 30; hour0.Content = "0"; hour0.DataContext = itemTime.AddHours(0); hour0.Click += new RoutedEventHandler(button_time_Click); stackPanel_time.Children.Add(hour0); Button hour6 = new Button(); if (Settings.Instance.NoStyle == 0) { hour6.Style = (Style)App.Current.Resources["ButtonStyle1"]; } hour6.Width = 30; hour6.Content = "6"; hour6.DataContext = itemTime.AddHours(6); hour6.Click += new RoutedEventHandler(button_time_Click); stackPanel_time.Children.Add(hour6); Button hour12 = new Button(); if (Settings.Instance.NoStyle == 0) { hour12.Style = (Style)App.Current.Resources["ButtonStyle1"]; } hour12.Width = 30; hour12.Content = "12"; hour12.DataContext = itemTime.AddHours(12); hour12.Click += new RoutedEventHandler(button_time_Click); stackPanel_time.Children.Add(hour12); Button hour18 = new Button(); if (Settings.Instance.NoStyle == 0) { hour18.Style = (Style)App.Current.Resources["ButtonStyle1"]; } hour18.Width = 30; hour18.Content = "18"; hour18.DataContext = itemTime.AddHours(18); hour18.Click += new RoutedEventHandler(button_time_Click); stackPanel_time.Children.Add(hour18); itemTime = itemTime.AddDays(1); } } catch (Exception ex) { MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace); } }
public void SetTime(System.Collections.SortedList timeList) { try { stackPanel_day.Children.Clear(); stackPanel_time.Children.Clear(); if (timeList.Count == 0) { return; } TimePosInfo startPos = timeList.GetByIndex(0) as TimePosInfo; DateTime startTime = startPos.Time; TimePosInfo endPos = timeList.GetByIndex(timeList.Count - 1) as TimePosInfo; DateTime endTime = endPos.Time; DateTime itemTime = new DateTime(startTime.Year, startTime.Month, startTime.Day, 0, 0, 0); while (itemTime < endTime) { Button day = new Button(); if (Settings.Instance.NoStyle == 0) { day.Style = (Style)App.Current.Resources["ButtonStyle1"]; } day.Width = 120; day.Content = itemTime.ToString("M/d(ddd)"); if (itemTime.DayOfWeek == DayOfWeek.Saturday) { day.Foreground = Brushes.Blue; } else if (itemTime.DayOfWeek == DayOfWeek.Sunday) { day.Foreground = Brushes.Red; } day.DataContext = itemTime; day.Click += new RoutedEventHandler(button_time_Click); stackPanel_day.Children.Add(day); Button hour6 = new Button(); if (Settings.Instance.NoStyle == 0) { hour6.Style = (Style)App.Current.Resources["ButtonStyle1"]; } hour6.Width = 40; hour6.Content = itemTime.ToString("6時"); hour6.DataContext = itemTime.AddHours(6); hour6.Click += new RoutedEventHandler(button_time_Click); stackPanel_time.Children.Add(hour6); Button hour12 = new Button(); if (Settings.Instance.NoStyle == 0) { hour12.Style = (Style)App.Current.Resources["ButtonStyle1"]; } hour12.Width = 40; hour12.Content = itemTime.ToString("12時"); hour12.DataContext = itemTime.AddHours(12); hour12.Click += new RoutedEventHandler(button_time_Click); stackPanel_time.Children.Add(hour12); Button hour18 = new Button(); if (Settings.Instance.NoStyle == 0) { hour18.Style = (Style)App.Current.Resources["ButtonStyle1"]; } hour18.Width = 40; hour18.Content = itemTime.ToString("18時"); hour18.DataContext = itemTime.AddHours(18); hour18.Click += new RoutedEventHandler(button_time_Click); stackPanel_time.Children.Add(hour18); itemTime = itemTime.AddDays(1); } } catch (Exception ex) { MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace); } }