2015-11-03 78 views
1

我在WPF應用程序的窗口中添加了一個TabControl,但我不確定如何重新定位TabControl,以便所有其他控件(按鈕,文本框,標籤,數據網格)位於常規選項卡項目。如何在TabControl中的TabItem中移動窗口控件?

我試圖把我所有的控制TabItem的元素中的General頭,一個網格內,但我得到了錯誤的主機:http://hastebin.com/isenokidev.xml

有誰知道如何在XAML定義呢?

這是帶有TabControl外所有控件的窗口的xaml定義。我不知道我怎樣才能把它們(在相同的佈局)的常規選項卡中:

<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> 

回答

2

對於所有控件將在常規選項卡中的項目,他們需要在被定義它。我不知道你爲什麼被更早收到錯誤,但能正常工作:

<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> 
+0

好吧,我沒有感動的TabItem這是什麼原因造成的誤差在我的網格,行和列的定義。另外我沒有在TabControl之外添加一個網格。 –

+0

很好用! – finalpets