Вкладка Проблема с представлениями - PullRequest
0 голосов
/ 11 июля 2011

Я пытаюсь создать страницу 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.

1 Ответ

0 голосов
/ 20 сентября 2011

Взлет isTabStop = "True".По умолчанию для него установлено значение true, поэтому, когда вы снова устанавливаете его в значение true, по какой-то причине вам приходится вкладываться дважды.Вы могли бы подумать, что не должно иметь значения просто иметь более четкую разметку.Единственная цель, которую я вижу для этого атрибута, - установить его в false.

...