Please excuse me for the delayed answer.
I tested the ItemTemplateSelector and it seems that it applies the data template correctly on both type of items - instant items and items with duration. Without your implementation I cannot be sure but my guess why the items are not displayed is that the element in the template doesn't have its Width set. When you define a DataTemplate for the items with duration you do not need to set a Width of the element because the time range determines it. On the other hand the instant items present a singularity in time and the elements in their data templates need to have its Width property set. Otherwise, they will be 0 pixels wide.
Please double check if the element in the DataTemplate for the instant timeline items have its Width property set.
About the instant items' issue, I was not able to recreate it on my side - the drag/drop action is executed properly even if I follow the steps from your reply. Can you please open a new support thread and attach your project there? This way I can test it on my side and investigate the reason behind the issue.
As for limiting the drag only in a specific axis or area you can add a condition that checks if the item is in a specific time frame and row. Here is an example:
sender, Telerik.Windows.DragDrop.DragEventArgs e)
var mousePos = e.GetPosition(
rowUnderMouse = GetRowUnderMouse(mousePos);
DateTime dateTimeUnderMouse =
var dataItem = DragDropPayloadManager.GetDataFromObject(e.Data,
the specific time frame and the row index
the index range)
dataItem.RowIndex = rowUnderMouse;
dataItem.Date = dateTimeUnderMouse;
If you want to limit the drag only on a specific axis - time or row - you can just the one of the properties - RowIndex or Date.
I hope this is useful.
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Telerik Feedback Portal
and vote to affect the priority of the items