Lone,
I had the same issue and I'm very glad I found the solution. After many hours of research, I discovered that the default behavior is that NavigationView Pane casts shadow on the ContentGrid.
That can easily be confirmed by commenting out the content grid - shadow no longer exists, because it no longer has a receiver.
In my case, NavigationView was implemented using a SplitView. That's why Shadow was bound to SplitView.Pane.
All I did is OnLoaded & OnCollapseButtonTapped I executed the following line:
_rootSplitVIew.Pane.Translation = new Vector3(0, 0, 0);
Shadow property works by elevating item on the Z axis, so setting it to 0 reverses the elevation and removes the shadow.
In your case you just need to find the proper element to execute it on (the element that has the Shadow).
In my case NavigationView was extended via TemplateControl. No reason this wouldn't work on a CodeBehind class too.
Control.Translation += new Vector3(0, 0, 0);
but this is too complicated, so it is not recommended. In addition, you can also try to let your custom titlebar to use this method:titlebar.Translation += new Vector3(0, 0, 0);
If they are both not successful, then we recommend that you can use the **ListView**(SplitView also can't) to customize a NavigationView.Control
? And titlebar does not have that shadow. Why are you doing the same thing to the titlebar?