private static void OnRegisterCommandBindingChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e) { System.Windows.Controls.Calendar element = sender as System.Windows.Controls.Calendar; if (element != null) { System.Windows.Controls.CalendarBlackoutDatesCollection bindings = e.NewValue as System.Windows.Controls.CalendarBlackoutDatesCollection; if (bindings != null) { element.BlackoutDates.Clear(); foreach (var dateRange in bindings) { element.BlackoutDates.Add(dateRange); } } } }
public HistoryViewerViewModel(Window window, System.Windows.Controls.Calendar calendar) //TODO: Should use callback to UI instead? { this.window = window; this.calendar = calendar; DateStyleConverter.Logs = null; calendar.DisplayDateStart = GetStartDate(); calendar.DisplayDateEnd = DateTime.Today.AddDays(-1); calendar.DisplayDate = calendar.DisplayDateEnd.Value; SelectedDate = calendar.DisplayDateEnd; tasksView = new CollectionViewSource(); tasksView.Source = tasks; LoadTasksList(); }
public void UpdateViewSelectedDates(Calendar calendar) { if ((calendar == null) || (calendar.SelectedDates == null)) { return; } // That is for forcing Start and EndDate to be updated before calculating the period. NotifyOfPropertyChange(() => Item); var numberOfDays = ((Item.EndDate - Item.StartDate).Days + 1); if (numberOfDays > 0) { calendar.SelectedDates.AddRange(Item.StartDate, Item.EndDate); } }
//============================================================================================== // TODO: FIX ME! This is an ugly way of doing "binding" to Calendar.SelectedDates which is // not a dependency property. This is only one way (VM->V) => for creating new requests is // enaugh but not for editing existent ones. public void UpdateModelSelectedDates(Calendar calendar) { if (UseStartEndDateSelection || (calendar == null) || (calendar.SelectedDates == null) || !calendar.SelectedDates.Any()) { return; } Item.StartDate = calendar.SelectedDates.Min(); Item.EndDate = calendar.SelectedDates.Max(); NotifyOfPropertyChange(() => Item); // This forces calendar to release mouse in order to be able to click on other things // only once after you selected some dates in calendar not twice. calendar.CaptureMouse(); calendar.ReleaseMouseCapture(); }
public override IDisposable DatePrompt(DatePromptConfig config) { Dispatch(() => { var calendar = new System.Windows.Controls.Calendar() { DisplayDateStart = config.MinimumDate, DisplayDateEnd = config.MaximumDate, DisplayMode = System.Windows.Controls.CalendarMode.Month, SelectionMode = System.Windows.Controls.CalendarSelectionMode.SingleDate }; if (config.SelectedDate != null) { DateTime selectedDate = DateTime.Today; if (selectedDate > (config.SelectedDate ?? DateTime.MaxValue)) { selectedDate = config.SelectedDate ?? DateTime.MaxValue; } if (selectedDate < (config.SelectedDate ?? DateTime.MinValue)) { selectedDate = config.SelectedDate ?? DateTime.MinValue; } calendar.SelectedDate = selectedDate; } FormsContentDialog dialog = new FormsContentDialog() { Title = config.Title, Content = new System.Windows.Controls.Viewbox() { Stretch = System.Windows.Media.Stretch.Uniform, StretchDirection = System.Windows.Controls.StretchDirection.UpOnly, Child = calendar, }, IsPrimaryButtonEnabled = true, PrimaryButtonText = config.OkText, IsSecondaryButtonEnabled = config.IsCancellable, SecondaryButtonText = config.CancelText }; dialog.PrimaryButtonClick += (s, e) => { HideContentDialog(); config.OnAction(new DatePromptResult(true, calendar.SelectedDate ?? DateTime.Today)); e.Cancel = true; }; dialog.SecondaryButtonClick += (s, e) => { HideContentDialog(); config.OnAction(new DatePromptResult(false, calendar.SelectedDate ?? DateTime.Today)); e.Cancel = true; }; ShowContentDialog(dialog); }); return(new DisposableAction(HideContentDialog)); }
public override Sybase.PowerBuilder.PBLong clicked() { #line hidden System.Windows.Controls.Calendar l_cal = null; Sybase.PowerBuilder.PBLong ancestorreturnvalue = Sybase.PowerBuilder.PBLong.DefaultValue; #line 2 l_cal = new System.Windows.Controls.Calendar(); #line hidden #line 5 ((System.Windows.Controls.Grid)((c__w_weather)(Parent)).l_grid.InnerControl).Children.Add((System.Windows.UIElement)(l_cal)); #line hidden #line 6 ((System.Windows.Controls.Grid)((c__w_weather)(Parent)).l_grid.InnerControl).RegisterName(new Sybase.PowerBuilder.PBString("l_cal"), l_cal); #line hidden #line 7 System.Windows.Controls.Canvas.SetLeft((System.Windows.UIElement)(l_cal), (double)(Sybase.PowerBuilder.PBDouble)(new Sybase.PowerBuilder.PBInt(0))); #line hidden #line 8 System.Windows.Controls.Canvas.SetTop((System.Windows.UIElement)(l_cal), (double)(Sybase.PowerBuilder.PBDouble)(new Sybase.PowerBuilder.PBInt(500))); #line hidden #line 11 Sybase.PowerBuilder.WPF.PBSystemFunctions.MessageBox(new Sybase.PowerBuilder.PBString(""), Sybase.PowerBuilder.WPF.PBSystemFunctions.String(((Sybase.PowerBuilder.PBAny)(((Sybase.PowerBuilder.PBExtObject)((c__w_weather)(Parent)).dw_weather.Object)[ #line 11 new Sybase.PowerBuilder.PBString(@"returnvalue"), #line 11 new Sybase.PowerBuilder.PBUInt(1), #line 11 new Sybase.PowerBuilder.PBUnboundedLongArray(new Sybase.PowerBuilder.PBLong[1]{(Sybase.PowerBuilder.PBLong)(new Sybase.PowerBuilder.PBInt(1))}) , #line 11 Sybase.PowerBuilder.PBBoolean.True #line 11 ])))); #line hidden return new Sybase.PowerBuilder.PBLong(0); }
public Calendar() { C = new System.Windows.Controls.Calendar(); }
public void UpdateViewSelectedDates(Calendar calendar) { if ((calendar == null) || (calendar.SelectedDates == null)) return; // That is for forcing Start and EndDate to be updated before calculating the period. NotifyOfPropertyChange(() => Item); var numberOfDays = ((Item.EndDate - Item.StartDate).Days + 1); if (numberOfDays > 0) calendar.SelectedDates.AddRange(Item.StartDate, Item.EndDate); }
//============================================================================================== // TODO: FIX ME! This is an ugly way of doing "binding" to Calendar.SelectedDates which is // not a dependency property. This is only one way (VM->V) => for creating new requests is // enaugh but not for editing existent ones. public void UpdateModelSelectedDates(Calendar calendar) { if (UseStartEndDateSelection || (calendar == null) || (calendar.SelectedDates == null) || !calendar.SelectedDates.Any()) return; Item.StartDate = calendar.SelectedDates.Min(); Item.EndDate = calendar.SelectedDates.Max(); NotifyOfPropertyChange(() => Item); // This forces calendar to release mouse in order to be able to click on other things // only once after you selected some dates in calendar not twice. calendar.CaptureMouse(); calendar.ReleaseMouseCapture(); }
public CalendarAutomationPeer(System.Windows.Controls.Calendar owner) : base(default(System.Windows.FrameworkElement)) { }