Hello,
I'm having trouble with the RadTileView when its container is a Popup of a special kind: I'm using Popup whose content is not dynamically created but a DependencyObject of a PopupService.Popup we made.
Eg.
In that case, the TileViewItems can be dragged, but there's no reorder previsualisation, and the items are not reordered when dropped.
I had some issue already with Drag and Drop using Telerik and they were fixed by setting the LogicalParentProperty:
The trouble seems to come from the RadTileView.MoveDraggingItem method where VisualTreeHelper.FindElementsInHostCoordinates is called and returns no element. Of course, this method doesn't use at all the LogicalParentProperty, so there may be something to do there.
I'm having trouble with the RadTileView when its container is a Popup of a special kind: I'm using Popup whose content is not dynamically created but a DependencyObject of a PopupService.Popup we made.
Eg.
<
TextBox
Text
=
"Hello"
>
<
local:PopupService.Popup
>
<
Controls:RadTileView
ItemsSource
=
"{Binding Workers}"
DisplayMemberPath
=
"Name"
ColumnsCount
=
"1"
MaximizeMode
=
"Zero"
/>
</
local:PopupService.Popup
>
</
TextBox
>
In that case, the TileViewItems can be dragged, but there's no reorder previsualisation, and the items are not reordered when dropped.
I had some issue already with Drag and Drop using Telerik and they were fixed by setting the LogicalParentProperty:
private
static
Popup CreateAndShowPopup(FrameworkElement content, FrameworkElement parent, PlacementMode placement,
bool
allowTransparency)
{
// Create the popup:
var popup =
new
Popup { DataContext = parent.DataContext };
popup.SetValue(Telerik.Windows.RoutedEvent.LogicalParentProperty,
new
WeakReference(parent));
// required by Telerik to make the drag and drop work
var popupLayout =
new
PopupLayout
{
AllowTransparency = allowTransparency,
Content = content
};
parent.LayoutUpdated += Parent_LayoutUpdated;
popup.Child = popupLayout;
The trouble seems to come from the RadTileView.MoveDraggingItem method where VisualTreeHelper.FindElementsInHostCoordinates is called and returns no element. Of course, this method doesn't use at all the LogicalParentProperty, so there may be something to do there.