Search code examples
c#wpfbuttontabcontroltabitem

How to add buttons on different tabs using TabControl in WPF


I have the basic tabs made and I want each tab to have a different set of buttons, but the button is added to the main window and no the tab. When i go to the code and cut the button and paste it to the tab I want it to be, it works but only for 1 button, then for the second button I get an error message:

"The object TabItem already has a child and cannot add Button.TabItem can accept only one child."

This is how the code looks like:

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>

I want to implement the "button1" inside of the "Admin" tab

It works but it fails when I do a second button

Thanks in advance


Solution

  • TabItem is inherited from the ContentControl class, which only allows 1 object as it's content, so you need to add a control first that allows multiple objects, like a Canvas or Grid, then add all of your buttons to that object.