After I posted about how to regain tab navigation in a popup, Ian commented that the workaround had some flaws. First, he lost intellisense inside the <UserControl> and second, which is more painful, he could not refer to any controls inside the child <UserControl> from the page's code-behind.
Well, I found a more suitable workaround. Instead of using a <UserControl> to set the TabNagation, you can use a <ContentControl> instead. Here's the updated workaround code:
1: <UserControl x:Class="PopupTabbing.Page"
2: xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3: xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4: Width="400" Height="300">
5: <Grid x:Name="LayoutRoot" Background="White">
6: <Popup IsOpen="True">
7: <Popup.Child>
8: <ContentControl TabNavigation="Cycle">
9: <StackPanel Width="150">
10: <TextBlock Text="Username" />
11: <TextBox x:Name="Username" />
12: <TextBlock Text="Password" />
13: <PasswordBox x:Name="Password" PasswordChanged="Password_PasswordChanged" />
14: <Button Width="75" Content="Login" Click="Button_Click" />
15: </StackPanel>
16: </ContentControl>
17: </Popup.Child>
18: </Popup>
19: </Grid>
20: </UserControl>
Thanks to Ian for pointing out the problems with the workaround!