2

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

4

3 回答 3

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>
于 2010-02-19T23:49:38.253 回答
2

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

  • 编辑订单.xaml
  • EditOrder_CancelOrder.xaml
  • EditOrder_EditItems.xaml

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

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

于 2010-03-17T23:41:18.167 回答
0

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

使用 IsSelected="true" 不能可靠地选择选项卡(在 VS2010 中)

于 2010-03-18T01:01:28.503 回答