我正在尝试使用一些视图设计一个silverlight页面。我能够得到我想要的UI。但是我在浏览页面时遇到了问题。为了获得视图,我编写了这样的代码;
<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>
我所面临的问题是,当我试图从一个视图的末尾tab到另一个视图时,我必须按下tab两次而不是一次。
off isTabStop="True"。默认情况下,它被设置为true,所以当你再次设置为true时,出于某种原因,你必须按两次tab键。您可能会认为仅仅有更清晰的标记并不重要。