Hi!
When I zoom my LayoutRoot the drop indicator doesn't recognize it. How can I zoom the drop indicator too?
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:igDock="http://infragistics.com/DockManager" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" x:Class="MainWindow" x:Name="Window" Title="MainWindow" Width="640" Height="480"> <Grid x:Name="LayoutRoot"> <igDock:XamDockManager x:Name="XamDM"> <igDock:DocumentContentHost x:Name="DCH"> <igDock:SplitPane> <igDock:TabGroupPane> <igDock:ContentPane Header="Content Pane"> <Grid> <Button Content="Zoom" Height="25" Width="100" Click="Zoom"/> </Grid> </igDock:ContentPane> <igDock:ContentPane Header="Content Pane2"> </igDock:ContentPane> </igDock:TabGroupPane> </igDock:SplitPane> </igDock:DocumentContentHost> </igDock:XamDockManager> </Grid> </Window>
Class MainWindow Dim st As New ScaleTransform() Private Sub Zoom() Dim tg = New TransformGroup st.ScaleX = 1 st.ScaleY = 1 tg.Children.Add(st) LayoutRoot.LayoutTransform = tg st.ScaleX = st.ScaleX * 1.5 st.ScaleY = st.ScaleY * 1.5 End Sub End Class
Greetings,
voks
Hi Krasimir,
thank you for creating the Feature Request and the sample.
Your workaround is nice but it don't satisfy me completely. We will see if the Feature Request will be picked up. But thank you one more time for your dedication.
Hello Voks,
I have further investigated your issue and it turns out that there is no build-in functionality for the behavior that you want regarding our XamDockManager control. Since we value customer’s requirements I have created a Feature Request for such functionality with reference number: FR13186. If your Feature Request is picked up for development you will be notified by email.
What I can suggest at this point is to handle XamDockManager’s PaneDragStarting event and in the event handler to turn off the ScaleTransform as follows:
LayoutRoot.LayoutTransform = New TransformGroup
and then to handle the PaneDragEnded and in its event handler to restore the ScaleTransform as it was before the dragging started. I have created a sample application that demonstrates this approach.
If you require any further assistance please do not hesitate to ask.
Sincerely,
Krasimir
Developer Support Engineer
Infragistics
www.infragistics.com/support
Hello Krasimir,
while dragging the ContentPane the Layout is still out of bounds. You can see it best when there is a SplitPane docked right for example (as seen in my attached new screenshot). But anyway the DockIndicator still isn't zoomed at all. Before and after zooming he has the same size.
And I found another side effect for my zoom: Zoom the application. Move the splitter between the DocumentContentHost and the SplitPane and release it. Effect: The splitter moves like "zoomed". In this case 50% more than really moved.
Kind regards,
In order to avoid this behavior you can use the following approach:
1. Handle XamDockManager’s PaneDragStarting event.
2. In the event handler for the PaneDragStarting event put the following code lines in order to zoom the drag indicator using RenderTransform:
LayoutRoot.RenderTransform = LayoutRoot.LayoutTransform
3. Handle XamDockManager’s PaneDragEnded event
4. In its event handler put the following code lines in order to return to LayoutTransform and keep the functionality that you want:
LayoutRoot.LayoutTransform = LayoutRoot.RenderTransform
LayoutRoot.RenderTransform = New TransformGroup
If you require any further assistance on the matter please do not hesitate to ask.
Infragistics, Inc.
after adapting your suggestion to my sample code the LayoutRoot will be zoomed out of bounds. You can see this bevavior best when you drop a ContentPane like I did in my attached screenshot.