private void InitUI() { txtMonth.Text = date.Month.ToString() + "月"; txtDay.Text = date.Day.ToString(); txtWeek.Text = DateTool.DayOfWeek(date); if (date.Date == DateTime.Today) { DateSP.Background = ColorTool.HexColorToBrush("#c5f3ff"); RoomGrid.Background = ColorTool.HexColorToBrush("#53a9ba"); } Task.Factory.StartNew(() => { //改成用DispatcherPriority,因為如果快速換月份 //一直跑UI,馬上又丟棄太浪費資源 //改成有空閒再跑會議房間就好 this.Dispatcher.BeginInvoke(DispatcherPriority.SystemIdle, new Action(() => //this.Dispatcher.BeginInvoke(new Action(() => { //meetingList.ForEach(item => foreach (UserMeeting item in meetingList) { var room = new MeetingRoom(UserID, UserPWD, item, this.Home_Change2MeetingDataCT_Event, NewAddMeetingID); MeetingRoomWP.Children.Add(room); } //); })); }); }
private void InitUI() { SeriesMeetingCT_ChangeMeetingRoomWP_Callback = new SeriesMeetingCT_ChangeMeetingRoomWP_Function(ChangeMeetingRoomWP); List <SeriesDataSeriesMeetingSeries> SeriesList = new List <SeriesDataSeriesMeetingSeries>(); List <SeriesDataSeriesMeetingMeeting> MeetingList = new List <SeriesDataSeriesMeetingMeeting>(); foreach (SeriesDataSeriesMeeting seriesMeeting in seriesData.SeriesMeeting) { SeriesList.Add(seriesMeeting.Series); MeetingList.AddRange(seriesMeeting.MeetingList.ToList()); } string CourseOrMeeting_String = PaperLess_Emeeting.Properties.Settings.Default.CourseOrMeeting_String; txtCount.Text = string.Format("共 {0} 組系列{1}", SeriesList.Count, CourseOrMeeting_String); Task.Factory.StartNew(() => { this.Dispatcher.BeginInvoke(new Action(() => { //int i = 0; //SeriesList.ForEach(item => foreach (SeriesDataSeriesMeetingSeries item in SeriesList) { //i++; SeriesMenu sm = new SeriesMenu(item, SeriesMeetingCT_ChangeMeetingRoomWP_Callback); SeriesMenuSP.Children.Add(sm); if (sm.seriesDataSeriesMeetingSeries.ID.Equals(NowSeriesID) == true) { sm.btnImg.Source = new BitmapImage(new Uri("images/icon_arrow_active.png", UriKind.Relative)); //sm.Background = new SolidColorBrush(Color.FromRgb(1, 161, 195)); sm.Background = ColorTool.HexColorToBrush("#019fde"); sm.txtSeriesName.Foreground = Brushes.White; } }//); })); this.Dispatcher.BeginInvoke(DispatcherPriority.SystemIdle, new Action(() => //this.Dispatcher.BeginInvoke(new Action(() => { int i = 0; //MeetingList.ForEach(item => int total = 0; foreach (SeriesDataSeriesMeetingMeeting item in MeetingList) { i++; UserMeeting um = new UserMeeting(); um.BeginTime = item.BeginTime; um.EndTime = item.EndTime; um.ID = item.ID; um.isBrowserd = item.isBrowserd; um.isDownload = item.isDownload; um.Location = item.Location; um.Name = item.Name; um.pincode = item.pincode; um.SeriesMeetingID = item.SeriesMeetingID; um.type = item.type; Home Home_Window = App.Current.Windows.OfType <Home>().FirstOrDefault(); if (Home_Window != null) { bool invisible = false; if (NowSeriesID.Equals("") == false && um.SeriesMeetingID.Equals(NowSeriesID) == false) { invisible = true; } else { ++total; } var room = new MeetingRoom(UserID, UserPWD, um, Home_Window.Home_Change2MeetingDataCT_Callback, "", invisible); MeetingRoomWP.Children.Add(room); } //string CourseOrMeeting_String = PaperLess_Emeeting.Properties.Settings.Default.CourseOrMeeting_String; //txtCount.Text = string.Format("共 {0} 組系列{1}", total, CourseOrMeeting_String); }//); })); }); }