Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 如何在TabControl中的TabItem内移动窗口控件?_Wpf_Xaml_Layout_Grid_Tabcontrol - Fatal编程技术网

Wpf 如何在TabControl中的TabItem内移动窗口控件?

Wpf 如何在TabControl中的TabItem内移动窗口控件?,wpf,xaml,layout,grid,tabcontrol,Wpf,Xaml,Layout,Grid,Tabcontrol,我已经在WPF应用程序的窗口中添加了一个TabControl,但我不确定如何重新定位TabControl,以便所有其他控件(按钮、文本框、标签、数据网格)都位于常规选项卡项内 我尝试将所有控件放置在网格中General标题的TabItem元素中,但出现了大量错误: 有人知道如何在XAML中定义它吗 这是窗口的xaml定义,其中包含TabControl之外的所有控件。我想知道如何将它们(以相同的布局)放置在“常规”选项卡中: <Window x:Class="MongoDBApp.MainW

我已经在WPF应用程序的窗口中添加了一个TabControl,但我不确定如何重新定位
TabControl
,以便所有其他控件(按钮、文本框、标签、数据网格)都位于常规选项卡项内

我尝试将所有控件放置在网格中
General
标题的TabItem元素中,但出现了大量错误:

有人知道如何在XAML中定义它吗

这是窗口的xaml定义,其中包含TabControl之外的所有控件。我想知道如何将它们(以相同的布局)放置在“常规”选项卡中:

<Window x:Class="MongoDBApp.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow"
        Width="800"
        Height="500">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="70" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="1*" />
            <RowDefinition Height=".50*" />
            <RowDefinition Height="1*" />
            <RowDefinition Height="1*" />
            <RowDefinition Height="1*" />
            <RowDefinition Height="1*" />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="1.25*" />
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition Width=".50*" />
            <ColumnDefinition Width="1*" />
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width=".75*" />
        </Grid.ColumnDefinitions>
        <TabControl>
            <TabItem Header="General">


            </TabItem> 

            <TabItem Header="Security" />
            <TabItem Header="Details" />
        </TabControl>
        <DataGrid Name="infogrid"
                  Grid.Row="0"
                  Grid.RowSpan="3"
                  Grid.Column="3"
                  Grid.ColumnSpan="4"
                  Width="356"
                  HorizontalAlignment="Left"
                  AutoGenerateColumns="True" />
        <Label Grid.Row="4"
               Grid.Column="3"
               HorizontalAlignment="Left"
               VerticalAlignment="Top"
               Content="First Name:" />
        <TextBox Grid.Row="4"
                 Grid.Column="4"
                 Grid.ColumnSpan="2"
                 Width="120"
                 Height="23"
                 HorizontalAlignment="Left"
                 VerticalAlignment="Top"
                 Text=""
                 TextWrapping="Wrap" />
        <Label Grid.Row="5"
               Grid.Column="3"
               HorizontalAlignment="Left"
               VerticalAlignment="Top"
               Content="Last Name:" />
        <TextBox Grid.Row="5"
                 Grid.Column="4"
                 Grid.ColumnSpan="2"
                 Width="120"
                 Height="23"
                 HorizontalAlignment="Left"
                 VerticalAlignment="Top"
                 Text=""
                 TextWrapping="Wrap" />
        <Label Grid.Row="6"
               Grid.Column="3"
               HorizontalAlignment="Left"
               VerticalAlignment="Top"
               Content="Department" />
        <TextBox Grid.Row="6"
                 Grid.Column="4"
                 Grid.ColumnSpan="2"
                 Width="120"
                 Height="23"
                 HorizontalAlignment="Left"
                 VerticalAlignment="Top"
                 Text=""
                 TextWrapping="Wrap" />


        <Button x:Name="saveBtn"
                Grid.Row="7"
                Grid.Column="3"
                Width="75"
                HorizontalAlignment="Left"
                VerticalAlignment="Top"
                Content="Save" />
        <Button x:Name="updateBtn"
                Grid.Row="7"
                Grid.Column="4"
                Width="75"
                HorizontalAlignment="Left"
                VerticalAlignment="Top"
                Content="Update" />
        <Button x:Name="deleteBtn"
                Grid.Row="7"
                Grid.Column="5"
                Width="75"
                HorizontalAlignment="Left"
                VerticalAlignment="Top"
                Content="Delete" />
    </Grid>
</Window>

要使所有控件都位于“常规”选项卡项中,需要在它中定义它们。我不确定您为什么会在前面出现错误,但这很好:

<Grid>
    <TabControl>
        <TabItem Header="General">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="70" />
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="1*" />
                    <RowDefinition Height=".50*" />
                    <RowDefinition Height="1*" />
                    <RowDefinition Height="1*" />
                    <RowDefinition Height="1*" />
                    <RowDefinition Height="1*" />
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="1*" />
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width=".75*" />
                </Grid.ColumnDefinitions>

                <DataGrid Name="infogrid"
                          Grid.Row="0"
                          Grid.RowSpan="3"
                          Grid.ColumnSpan="4"
                          Width="356"
                          HorizontalAlignment="Left"
                          AutoGenerateColumns="True" />

                <Label Grid.Row="4"
                       HorizontalAlignment="Left"
                       VerticalAlignment="Top"
                       Content="First Name:" />
                <TextBox Grid.Row="4"
                         Grid.Column="1"
                         Grid.ColumnSpan="2"
                         Width="120"
                         Height="23"
                         HorizontalAlignment="Left"
                         VerticalAlignment="Top"
                         Text=""
                         TextWrapping="Wrap" />

                <Label Grid.Row="5"
                       HorizontalAlignment="Left"
                       VerticalAlignment="Top"
                       Content="Last Name:" />
                <TextBox Grid.Row="5"
                         Grid.Column="1"
                         Grid.ColumnSpan="2"
                         Width="120"
                         Height="23"
                         HorizontalAlignment="Left"
                         VerticalAlignment="Top"
                         Text=""
                         TextWrapping="Wrap" />

                <Label Grid.Row="6"
                       HorizontalAlignment="Left"
                       VerticalAlignment="Top"
                       Content="Department" />
                <TextBox Grid.Row="6"
                         Grid.Column="1"
                         Grid.ColumnSpan="2"
                         Width="120"
                         Height="23"
                         HorizontalAlignment="Left"
                         VerticalAlignment="Top"
                         Text=""
                         TextWrapping="Wrap" />

                <Button x:Name="saveBtn"
                        Grid.Row="7"
                        Width="75"
                        HorizontalAlignment="Left"
                        VerticalAlignment="Top"
                        Content="Save" />

                <Button x:Name="updateBtn"
                        Grid.Row="7"
                        Grid.Column="1"
                        Width="75"
                        HorizontalAlignment="Left"
                        VerticalAlignment="Top"
                        Content="Update" />

                <Button x:Name="deleteBtn"
                        Grid.Row="7"
                        Grid.Column="2"
                        Width="75"
                        HorizontalAlignment="Left"
                        VerticalAlignment="Top"
                        Content="Delete" />
            </Grid>
        </TabItem>

        <TabItem Header="Security" />

        <TabItem Header="Details" />
    </TabControl>
</Grid>

好的,我没有在TabItem中移动我的网格、行和列定义,这是导致错误的原因。另外,我没有在TabControl之外添加网格。