Unplanned
Last Updated: 15 Jan 2024 11:23 by ADMIN

In OS two monitors are configured: monitor 1 (3840x2160) scale: 200% and monitor 2 (1920x1200) scale 100%.

Our wpf application has a main window, maximized on screen 1 and a child window maximized on screen 2.

In the app.manifest we use per monitor dpi awareness:

<application xmlns="urn:schemas-microsoft-com:asm.v3">
  <windowsSettings>
    <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">True/PM</dpiAware>
    <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2,PerMonitor</dpiAwareness>
  </windowsSettings>
</application>


Both windows have a RadDocking instance with a docked RadPane like:


<Grid>
  <telerikDocking:RadDocking Name="Docking"                              
                             HasDocumentHost="True" 
                             telerik:DragDropGroup.Name="VDDragDropGroup">
    <telerikDocking:RadDocking.DocumentHost>
      
            ...
          
    </telerikDocking:RadDocking.DocumentHost>
    <telerik:RadSplitContainer InitialPosition="DockedBottom">
      <telerik:RadPaneGroup>
        <telerik:RadPane Header="Test Panel" IsDockable="True">
          <Border Background="Green">
            <TextBlock Text="Test Panel" HorizontalAlignment="Center" VerticalAlignment="Center"/>
          </Border>
        </telerik:RadPane>
      </telerik:RadPaneGroup>     
    </telerik:RadSplitContainer>
  </telerikDocking:RadDocking>
</Grid>

 

If you drag and move the docked panel from screen 2 to screen 1 the compass at screen 1 is only shown if the mouse position is in the first quadrant of screen 1 . The compass is shown on the correct place but cannot be activated, so that no dropping is possible.

Without unsing per monitor dpi awareness everything works fine. Unfortunately we must use per monitor dpi awareness for our application.

This bug is also reproducable in V2023.3.1218.

Unplanned
Last Updated: 30 Aug 2018 15:25 by ADMIN
Unplanned
Last Updated: 10 Nov 2017 18:04 by ADMIN
Unplanned
Last Updated: 30 Oct 2017 15:02 by ADMIN
Unplanned
Last Updated: 25 Aug 2016 12:58 by ADMIN
ADMIN
Created by: Geri
Comments: 0
Category: Docking
Type: Bug Report
0
Possible workaround:

A custom RadDocking control can be created, in which the OnCreateAutomationPeer() method is overridden. OnCreateAutomationPeer() should return a custom RadDocking AutomationPeer, in which the ToolWindowAutomationPeer is removed from the collection of child elements of RadDocking AutomationPeer.
Approach demonstrated in the attached project.
Unplanned
Last Updated: 03 Aug 2016 12:51 by BENN
When dragging a pane in Deferred DragDropMode, if the moue cursor is far from the header, then the Drag Cue appears far from the cursor.
Unplanned
Last Updated: 03 Aug 2016 12:52 by ADMIN
On some rare cases, RadPane.OnPaneLoaded is being called before ApplyTemplate was called, and therefore, UpdateAllowDrag which tries to find the first child of the rad pane (the "wrapper" grid) fails, and pane remains undraggable.

To reproduce this issue, I have a button that when clicking on it, it adds a new pane (There is a collection of View Models, that when items are added or removed, then a code that is using binding to that collection adds or removes a pane.

The scenario happens when the system is laggy (For example, heavy UI on the panes content), and I'm adding several view models to that collection.
It doesn't always happen, but sometimes, one of more of the panes are not draggable.
I can clearly see that the OnPaneLoaded was called before the OnApplyTemplate was.

Maybe it can be a good idea to call UpdateAllowDrag on the OnApplyTemplate function if the OnLoad was called first.

Unplanned
Last Updated: 03 Jan 2017 21:10 by BENN
On Deferred mode, you can still undock panes (for example, but context menu).
The problem starts when you want to dock them back, When moving a pane above the compass, it hides the compass (And this problem is a PITA when you docking with the inner compass (rather than the root compass), since the left,top, center etc.. arrows are near to each other (so you are not 100% sure you hit the right arrow).

Unplanned
Last Updated: 04 Aug 2016 10:49 by BENN
When changing the DragDropMode in runtime, the panes behave unexpectedly.

If changing from Immediate to Deferred:

* Docked panes are not movable (no compass and no deferred adorner is being shows)

* Floating panes that are being docked do have the compass and the deferred adorner, when you try to move them after they were docked. 

 

If you change is back from Deferred to Immediate:

* Panes that you could not move can be moved (and then become floating) again/

* The panes that did have  the compass and the deferred adorner, don't move when you try to drag them. However, when you release the mouse button, then the start moving with the mouse pointer... without any mouse button pressed.


I've debugged the controls using the source code, and I've concluded that.

RadPane.UdateAllowDrag() is being called on PaneLoaded, which happens when I drag a floating pane into the Docking area.

In this case, when the DragDropMode is set to Deferred, then AllowDrag is set to True (with the call of DragDropManager.SetAllowDrag)

This is why that pane does have the Deferred Drag Adorner (The Drag Cue), while other panes doesn't.

 

On the other hand, when I change the DragDropMode to be Immediate again, then that pane is left with AllowDrag set to true, and it is registered to the DragDropManager events, which causes the second problem.

 

In my opinion, the RadPane.UpdateAllowDrag() should be called also when the DragDropMode is changed.
Unplanned
Last Updated: 04 Jan 2017 08:25 by ADMIN
The the keyboard focus is also lost if you undock a RadPane from its docked state.
As a workaround you can persist the focus as shown in the RestoreFocusOnStateChanged SDK example, that can be found here:
https://github.com/telerik/xaml-sdk/tree/master/Docking/RestoreFocusOnStateChanged
Unplanned
Last Updated: 03 Aug 2016 12:50 by ADMIN
If an custom implementation is implemented that restores the IsActive property state if a RadPane during the control's LoadLayout functionality the "Active" visual state if that RadPane instance is not cleared if different RadPane is selected.

This issue could be observed in the VisualStudioDocking located in the XAML GitHub repository here: https://github.com/telerik/xaml-sdk/tree/master/Docking/VisualStudioDocking
Unplanned
Last Updated: 03 Aug 2016 12:52 by ADMIN
While the control's DragDropMode is set to Deferred and the RadPane instances contain content which is UI heavy, dragging those RadPane instances in order to reorder or re-dock them may experience performance issues leading to sluggishness of the drag and drop action.
Unplanned
Last Updated: 04 Jan 2017 07:14 by ADMIN
When the control contains RadPane instances which Content is provided by a MAF framework that content experiences flickers and disappearing when the RadPane is being floated, docked, pinned or unpinned.
Unplanned
Last Updated: 03 Jan 2017 21:09 by Licensing
This happens in particular scenario after saving/loading the layout.
Unplanned
Last Updated: 03 Jan 2017 20:39 by ADMIN
Dragging objects from outside control shouldn't be allowed in specific cases. In cases where the RadDocking control cannot use the dragged data, the drop operation shouldn't be allowed.
Unplanned
Last Updated: 03 Aug 2016 12:51 by ADMIN
Removing the Right mouse button ContextMenu of ToolWindow is not possible.
Unplanned
Last Updated: 03 Jan 2017 20:58 by ADMIN
If the IsContentPreserved of a PaneGroup is SET to true and a RadTabControl is placed inside a Pane the focus is moved through its content.
Unplanned
Last Updated: 03 Jan 2017 20:58 by ADMIN
1. Create an app using RadDocking. The 'First Look' demo of RadDock can be modified to reproduce the problem.
2. Modify one of the panes, replace the TextBlock control with a TextBox control. Bind the text of the TextBox control to a string property.
3. Add the string property to the .cs file and in the setter, Show a MessageBox.
4. Run app. Select tab with Textbox control and modify the value.
5. Now select the other tab. the messagebox will be displayed. Notice it can be dismissed via keyboard but not via mouse click. It cannot be moved via mouse either.
6. Select a window outside of the application and not select the message box. Notice Mouse input now works. MessageBox can be moved and dismissed via mouse.
Unplanned
Last Updated: 03 Jan 2017 21:03 by ADMIN
1 2