如何在VS设计器中选择Silverlight TabControl中的选项卡

问题描述:

在XAML(Silverlight)中,如何编辑VS Designer中的第一个选项卡?我只能看到第一个选项卡,我不知道如何设置选择哪一个,以便我可以看到所有选项卡的内容。谢谢!如何在VS设计器中选择Silverlight TabControl中的选项卡

+0

这真的很糟糕我知道。好像它在VS2010的Silverlight 4 RC中没有修复。 WinForms编辑器对许多常见任务来说都好得多,它甚至不好笑 – 2010-03-17 23:36:40

我不知道是否有办法做到这一点。你可以做的是将TabControl的SelectedIndex属性设置为你想要显示的标签,然后在完成后删除这个属性。

<controls:TabControl SelectedIndex="1"> 
    <controls:TabItem Header="Hello"> 
     <controls:TabItem.Content> 
      <StackPanel Width="400" Height="300"> 
       <TextBlock Text="Content" /> 
       <TextBlock Text="Content" /> 
       <TextBlock Text="Content" /> 
       <TextBlock Text="Content" /> 
      </StackPanel> 
     </controls:TabItem.Content> 
    </controls:TabItem> 
    <controls:TabItem Header="Hello 2"> 
     <controls:TabItem.Content> 
      <StackPanel Width="400" 
         Height="300"> 
       <TextBlock Text="Content 2" /> 
       <TextBlock Text="Content 2" /> 
       <TextBlock Text="Content 2" /> 
       <TextBlock Text="Content 2" /> 
      </StackPanel> 
     </controls:TabItem.Content> 
    </controls:TabItem> 
</controls:TabControl> 

另一种解决方案是创建每个选项卡的内容作为单独的控件。

  • EditOrder.xaml
  • EditOrder_CancelOrder.xaml
  • EditOrder_EditItems.xaml

DataContext的是在Silverlight中的子控件自动继承,所以你不必设置DataContext的每个选项卡上。

这使得您的标签内容模块化并且从一开始就更具可重用性。当然,这取决于具体情况以及您的应用正在做什么,但是通过设置IsSelected = true可以避免切换标签页的一种方法。

注意:不要在与TabItem上的IsSelected混淆的TabControl上获取SelectedIndex。

使用IsSelected =“true”无法可靠地选择标签(在VS2010中)