我正在尝试使用一些视图设计一个 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>
我面临的问题是,当我试图从一个视图的末尾切换到另一个视图时,我不得不按两次选项卡安装一次。一旦进入视图,它就可以正常工作。