I was wondering if anyone knows of any way to have an EdgeNavigator pop up at say 50% of the screen size and have the rest of the components on the screen resize and move accordingly and then when the EdgeNavigator is put away have the components retake their original sizes and positions.
This is possible, consider this code:
<DockPanel> <EdgeNavigation /> <Panel Width="50%" Background="#0F0" Edge="Left" Alignment="Left"> <EnteringAnimation> <Move X="-1" RelativeTo="Size" /> <Change _panel.Width="100%" /> </EnteringAnimation> </Panel> <Panel Background="#F00" Width="50%" ux:Name="_panel" Alignment="Right"> <StackPanel> <Slider /> <Button /> </StackPanel> </Panel> </DockPanel>
However, I would advice against animating layout properties (like
Height) since that causes the layout to be recalculated, this can be slow if you have lots of UI elements in the resizing panel. If you just have a few elements you are proably fine though You just have to test it