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

时间:2010-02-19 23:34:46

标签: silverlight tabs visual-studio-designer

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

3 个答案:

答案 0 :(得分:3)

我不知道是否有办法做到这一点。您可以做的是将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>

答案 1 :(得分:2)

另一种解决方案是将每个标签的内容创建为单独的控件。

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

Datalight文本由Silverlight中的子控件自动继承,因此您不必在每个选项卡上设置DataContext。

这使您的标签内容模块化,从一开始就可以重复使用。当然这取决于具体情况和你的应用程序正在做什么,但它是一种避免必须通过设置IsSelected = true来切换标签的方法。

答案 2 :(得分:0)

注意:不要将TabControl上的SelectedIndex与TabItem上的IsSelected混淆。

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