1

我已经制作了基本选项卡,我希望每个选项卡都有一组不同的按钮,但是按钮被添加到主窗口中并且没有选项卡。当我转到代码并剪切按钮并将其粘贴到我想要的选项卡时,它可以工作,但仅适用于 1 个按钮,然后对于第二个按钮,我收到一条错误消息:

“对象TabItem已经有一个孩子,不能添加Button.TabItem只能接受一个孩子。”

这是代码的样子:

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="394" Width="570">
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="0*" />
        <ColumnDefinition Width="548*" />
    </Grid.ColumnDefinitions>
    <TabControl Margin="9,30,11,10" Name="tabControl1" Grid.Column="1" SelectionChanged="tabControl1_SelectionChanged">
        <TabItem Name="Admin" Header="Admin">

        </TabItem>
        <TabItem Name="Staff" Header="Staff" />
        <TabItem Name="Student" Header="Student" />
        <TabItem Name="Diary" Header="Diary" />
        <TabItem Name="Timetables" Header="Timetables" />
        <TabItem Name="Assignments" Header="Assignments" />
        <TabItem Name="Courses" Header="Courses" />
    </TabControl>
    <Menu Height="16" Name="menu1" VerticalAlignment="Top" Grid.Column="1" />
    <Button Grid.Column="1" Height="23" HorizontalAlignment="Left" Margin="18,64,0,0" Name="button1" VerticalAlignment="Top" Width="118">Add/Edit Student</Button>
</Grid>

我想在“管理”选项卡中实现“button1”

它可以工作,但是当我做第二个按钮时它失败了

提前致谢

4

3 回答 3

7

添加一个<StackPanel>,<Grid>, <Border>,etc.-- 任何可以包含多个子元素的元素,就像您将 a<Window> 这适用于任何只能接受单个子元素的 wpf 元素。按钮、切换按钮等

<TabItem>
<Grid>
.......
</Grid>
</TabItem
于 2010-02-11T15:44:46.977 回答
3

TabItem继承自 ContentControl 类,该类仅允许 1 个对象作为其内容,因此您需要先添加一个允许多个对象的控件,例如CanvasGrid,然后将所有按钮添加到该对象。

于 2010-02-11T15:42:06.857 回答
1

您收到该错误是因为 TabItem 只能包含一个 UIElement 作为子项。您将需要使用某种面板(即 Grid、DockPanel、StackPanel、Canvas...)来安排您的所有 UIElement。

于 2010-02-11T15:46:14.013 回答