Hi,
I'm trying to prevent a dock panel beeing moved to top or buttom.
My App looks explorer like - but the "navigation pane" can be docked to the right or to the left.
I successfully handled to avoid "float" and other unwanted kinds of the panel.
My next problem was a user dragging the panel arround.
My first approach was to handel DockinStateChanging.
BUT - I always get the previous DockPosition in this event!
My next approach was to handle the already changed state.
BUT - I still get the previous DockPosition in this event!
This means I can't avoid that a user drags the panel to the top position,
since the position shown in the DockingStateChanged handler is the PREVIOUS position!!
So if dragged from left to top - it tells left!
I guess this is some kind of a bug.
Anyhow - is there a way to prevent Top / Bottom docking?
Or at least prevent dragging?
Regards
Manfred
I'm trying to prevent a dock panel beeing moved to top or buttom.
My App looks explorer like - but the "navigation pane" can be docked to the right or to the left.
I successfully handled to avoid "float" and other unwanted kinds of the panel.
My next problem was a user dragging the panel arround.
My first approach was to handel DockinStateChanging.
private void rdmMain_DockingStateChanging(object sender, Telerik.WinControls.Docking.DockingChangingEventArgs e) { |
if (e.DockableState != Telerik.WinControls.Docking.DockState.AutoHide && e.DockableState != Telerik.WinControls.Docking.DockState.Docked) { |
e.Cancel = true; |
} |
if (e.DockObject.DockPosition != DockPosition.Left && e.DockObject.DockPosition != DockPosition.Right) { |
e.Cancel = true; |
} |
} |
My next approach was to handle the already changed state.
private void rdmMain_DockingStateChanging(object sender, Telerik.WinControls.Docking.DockingChangingEventArgs e) { |
if (e.DockableState != Telerik.WinControls.Docking.DockState.AutoHide && e.DockableState != Telerik.WinControls.Docking.DockState.Docked) { |
e.Cancel = true; |
} |
} |
private void rdmMain_DockingStateChanged(object sender, DockingChangedEventArgs e) { |
if (e.DockObject.DockPosition != DockPosition.Left && e.DockObject.DockPosition != DockPosition.Right) { |
DockMenuTo(DockPosition.Left); |
} |
} |
This means I can't avoid that a user drags the panel to the top position,
since the position shown in the DockingStateChanged handler is the PREVIOUS position!!
So if dragged from left to top - it tells left!
I guess this is some kind of a bug.
Anyhow - is there a way to prevent Top / Bottom docking?
Or at least prevent dragging?
Regards
Manfred