Thanks for the suggestion. To answer your questions (since I don't know all of what Karl will go into in the next video):
Links within a page -- this is actually quite straightforward. HyperlinkButton (and Hyperlink for use in RichTextBox) searches its neighbors and up its visual tree for an INavigate (which Frame implements). If no TargetName is given, it will navigate the
first INavigate it encounters. As a result, within a page, you just need to use a HyperlinkButton with no TargetName set (e.g. <HyperlinkButton NavigateUri="/Views/SomePage.xaml" Content="Navigate to some page" />), and clicking this will navigate the frame
to another page. If you need to accomplish this in code, within the page you can write this.NavigationService.Navigate(new Uri("/Views/SomePage.xaml", UriKind.Relative)).
As for WP7 and ContentLoaders, since WP7 is based on Silverlight 3 and ContentLoaders were not introduced until Silverlight 4, as far as I know WP7 does not support ContentLoaders.
It's not possible "by default". However, take a look at some of my ContentLoader posts on my blog. I have ContentLoaders that delegate to other ContentLoaders, allowing them to be chained together to "decorate" the loading behavior with error handling,
authentication, etc. Thankfully, these ContentLoaders compose reasonably well, so you can really create some expressive declarative definitions of navigation behavior.