0

我正在尝试使用一些视图设计一个 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>

我面临的问题是,当我试图从一个视图的末尾切换到另一个视图时,我不得不按两次选项卡安装一次。一旦进入视图,它就可以正常工作。

4

1 回答 1

0

起飞 isTabStop="True"。默认情况下,它设置为 true,因此当您再次将其设置为 true 时,出于某种原因,您必须按两次制表符。您会认为拥有更清晰的标记并不重要。我可以看到该属性的唯一目的是将其设置为 false。

于 2011-09-20T18:37:04.173 回答