or
<
telerik:RadGridView
ItemsSource
=
"{Binding WellCompletionEvaluation.CompletionItems}"
AutoGenerateColumns
=
"False"
CanUserInsertRows
=
"True"
Grid.Row
=
"24"
Grid.Column
=
"0"
Grid.ColumnSpan
=
"6"
MinHeight
=
"200"
MaxHeight
=
"500"
ShowInsertRow
=
"True"
ShowGroupPanel
=
"False"
CanUserFreezeColumns
=
"False"
RowIndicatorVisibility
=
"Collapsed"
>
public class WellCompletionEvaluationViewModel : ValidatedViewModelBase
{
private readonly JobInfoOperationWellCompletionEvaluation model;
public ObservableCollection<
WellCompletionEvaluationCompletionItemsViewModel
> CompletionItems { get; private set; }
public WellCompletionEvaluationViewModel(JobInfoOperationWellCompletionEvaluation model)
{
this.model = model;
WTConfiguration = new WellCompletionEvaluationWTConfigurationViewModel(model.WTConfiguration);
this.CompletionItems = new ObservableCollection<
WellCompletionEvaluationCompletionItemsViewModel
>(
from p in this.model.completionItems
select new WellCompletionEvaluationCompletionItemsViewModel(p));
}
public JobInfoOperationWellCompletionEvaluation Model { get { return this.model; } }
public WellCompletionEvaluationWTConfigurationViewModel WTConfiguration
{
get;
set;
}
}
at Telerik.Windows.Controls.GroupHeader.InitializeColumnsAndUpdateMaxIntersectedAppointmentsCount()
at Telerik.Windows.Controls.GroupHeader.Initialize()
at Telerik.Windows.Controls.AppointmentsPanel.AddHeaders(GroupHeader header, Boolean isHorizontal, Boolean showWeekHeaders, Calendar calendar, CalendarWeekRule weekRule, DayOfWeek firstDayOfWeek)
at Telerik.Windows.Controls.AppointmentsPanel.MeasureOverride(Size availableSize)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)
(...)
<
Window
x:Class
=
"scheduleViewError.MainWindow"
xmlns:telerik
=
"http://schemas.telerik.com/2008/xaml/presentation"
xmlns:scheduleView
=
"clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.ScheduleView"
Title
=
"MainWindow"
Height
=
"350"
Width
=
"525"
>
<
Grid
>
<
telerik:RadScheduleView
x:Name
=
"scheduleview"
Grid.Row
=
"2"
Grid.Column
=
"2"
Margin
=
"0"
AppointmentsSource
=
"{Binding Appointments}"
BorderThickness
=
"0 1 1 1"
FirstVisibleTime
=
"06:00"
>
<
telerik:RadScheduleView.ViewDefinitions
>
<
telerik:MonthViewDefinition
/>
<
telerik:DayViewDefinition
/>
</
telerik:RadScheduleView.ViewDefinitions
>
</
telerik:RadScheduleView
>
</
Grid
>
</
Window
>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.DataContext = new ViewModel();
}
}
public class ViewModel
{
private ObservableAppointmentCollection _apppointments;
public ViewModel()
{
var today = DateTime.Today;
var x = new ObservableCollection<
Appointment
>(Enumerable.Range(9, 14).Select(i =>
new Appointment
{
Start = today.AddMinutes(i * 60 + 15),
End = today.AddMinutes((i + 1) * 60),
Subject = string.Format("Appointment num. {0}", i),
}));
_apppointments = new ObservableAppointmentCollection();
_apppointments.AddRange(x);
}
public ObservableAppointmentCollection Appointments
{
get
{
return _apppointments;
}
set
{
if (_apppointments == value)
return;
_apppointments = value;
}
}
}
<
telerik:GridViewDataColumn
UniqueName
=
"Timestamp"
DataMemberBinding
=
"{Binding Timestamp}"
Header
=
"Timestamp"
DataFormatString
=
"{} {0:MM/dd/yyyy HH:mm:ss}"
IsFilterable
=
"False"
/>
public DateTime? Timestamp
{
get
{
... returns either NULL or datetime object
}
set
{
_timestamp = value;
}
}