0

いくつかのビューを使用して 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>

私が直面している問題は、あるビューの最後から別のビューにタブで移動しようとしているときに、タブを 1 回ではなく 2 回押さなければならなかったことです。ビュー内では問題なく動作しています。

4

1 に答える 1

0

isTabStop="True" を外します。デフォルトでは true に設定されているため、再度 true に設定すると、何らかの理由で 2 回タブを押す必要があります。より明確なマークアップを持つことだけが問題ではないと思うでしょう。その属性について私が見ることができる唯一の目的は、それを false に設定することです。

于 2011-09-20T18:37:04.173 に答える