Я пытаюсь создать страницу Silverlight, используя несколько представлений. Я смог получить желаемый интерфейс. Но я столкнулся с проблемой при переходе по странице. Чтобы получить представление, я написал что-то вроде этого;
<Grid x:Name="LayoutRoot" Background="White">
<ItemsControl ItemsSource="{Binding }" BorderThickness="1" BorderBrush="Black">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Controls:TemplateSelectorDataTemplate FieldType="0001">
<Grid>
<!--Grid definintions-->
.
.
.
<views:Address DataContext="{Binding }" IsTabStop="True" Visibility="{Binding Path=IsWidgetVisible,Converter={StaticResource BoolToVisibilityConverter}}" />
</Grid>
</Controls:TemplateSelectorDataTemplate>
<Controls:TemplateSelectorDataTemplate FieldType="0002">
<Grid>
<!--Grid definintions-->
.
.
.
<views:ContactSearchView DataContext="{Binding }" IsTabStop="True" Visibility="{Binding Path=IsWidgetVisible,Converter={StaticResource BoolToVisibilityConverter}}" />
</Grid>
</Controls:TemplateSelectorDataTemplate>
<Controls:TemplateSelectorDataTemplate FieldType="0003">
<Grid>
<!--Grid definintions-->
.
.
.
<views:GroupView DataContext="{Binding }" IsTabStop="True" Visibility="{Binding Path=IsWidgetVisible,Converter={StaticResource BoolToVisibilityConverter}}" />
</Grid>
</Controls:TemplateSelectorDataTemplate>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
Индивидуальные взгляды похожи;
<!--AddressView-->
<Grid x:Name="LayoutRoot" Background="White" DataContext="{Binding }">
<!--Grid Definitons-->
<TextBlock x:Name="xyz"....../>
<TextBox x:Name = "xyzBox"...../>
.
.
.
.
</Grid>
<!--ContactDetails-->
<Grid x:Name="LayoutRoot" Background="White" DataContext="{Binding }">
<!--Grid Definitons-->
<custom NewDatePicker x:Name="DOB"....../>
<TextBox x:Name = "NameBox"...../>
.
.
.
.
</Grid>
Проблема, с которой я сталкиваюсь, заключается в том, что, пока я пытаюсь перейти с конца одного представления на другое, мне пришлось дважды нажать вкладку один раз. Он работает нормально, как только внутри View.