2016-05-25 68 views
0

私はウィンドウを最大化するために "GroupBox"を持っています。私は他の人に "サブグループ"をサブグループにします。WPFでGroupBoxを使用するには?

それを修正する方法はありません。誰でも? Form

これはXAMLです。これはxmlで、何かのラベルや何かを修正するための定義を追加する方法があるかどうかわかりません。

<UserControl x:Class="Laboratorio.Calibracion" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
     mc:Ignorable="d" 
     d:DesignHeight="490" d:DesignWidth="660"> 
<Grid> 
    <GroupBox Header="Calibracion" Margin="0,0,0,10"> 
     <Grid> 
      <Grid.RowDefinitions> 
       <RowDefinition Height="Auto"></RowDefinition> 
       <RowDefinition Height="Auto"></RowDefinition> 
       <RowDefinition Height="Auto"></RowDefinition> 
      </Grid.RowDefinitions> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="Auto"></ColumnDefinition> 
       <ColumnDefinition Width="Auto"></ColumnDefinition> 
      </Grid.ColumnDefinitions> 
      <GroupBox Grid.Row="0" Grid.Column="0" Header="Equipo"> 
       <Grid> 
        <Label x:Name="serialLbl" Content="Serial:" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,10,0,0"/> 
        <TextBox x:Name="serialTxb" HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" Margin="85,10,0,0"/> 
        <TextBox x:Name="descripcionTxb" HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" VerticalAlignment="Top" Width="144" Margin="209,10,0,0" IsEnabled="False"/> 
        <Label x:Name="resolucionLbl" Content="Resolucion:" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,41,0,0"/> 
        <TextBox x:Name="resolucionTxb" HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" Margin="85,41,0,0"/> 
       </Grid> 
      </GroupBox> 
      <GroupBox Grid.Row="0" Grid.Column="1" Header="Patron"> 
       <Grid> 
        <Label x:Name="patronLbl" Content="Patron:" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,10,0,0"/> 
        <ComboBox x:Name="comboBox" HorizontalAlignment="Left" VerticalAlignment="Top" Width="120" Margin="106,10,0,0"/> 
        <Label x:Name="patronLbl_Copy" Content="Niv. Referencia:" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,80,0,0"/> 
        <TextBox x:Name="resolucionTxb_Copy" HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" Margin="106,80,0,0"/> 
        <Label x:Name="patronLbl_Copy1" Content="Fluido:" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,41,0,0"/> 
        <ComboBox x:Name="comboBox_Copy" HorizontalAlignment="Left" VerticalAlignment="Top" Width="120" Margin="106,41,0,0"/> 
       </Grid> 
      </GroupBox> 
      <GroupBox Grid.Row="1" Grid.Column="0" Header="Condificones"> 
       <Grid> 
        <Label x:Name="temperaturaLbl" Content="Temperatura:" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,10,0,0"/> 
        <TextBox x:Name="temperaturaTxb" HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" VerticalAlignment="Top" Width="36" Margin="94,10,0,0"/> 
        <Label x:Name="humedadLbl" Content="Humedad:" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="135,10,0,0"/> 
        <TextBox x:Name="humedadTxb" HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" VerticalAlignment="Top" Width="35" Margin="205,10,0,0"/> 
       </Grid> 
      </GroupBox> 
      <GroupBox Grid.Row="2" Grid.Column="0" Header="Comprobacion Inicial"> 
       <Grid> 
        <DataGrid x:Name="compInicialDgv"> 
         <DataGrid.Columns> 
          <DataGridTextColumn Header="Presion Patron"></DataGridTextColumn> 
          <DataGridTextColumn Header="Lecturas"></DataGridTextColumn> 
          <DataGridTextColumn Header="Error"></DataGridTextColumn> 
         </DataGrid.Columns> 
        </DataGrid> 
       </Grid> 
      </GroupBox> 
      <GroupBox Grid.Row="2" Grid.Column="1" Header="Segunda Secuencia"> 
       <Grid> 
        <DataGrid x:Name="segSecDgv"> 
         <DataGrid.Columns> 
          <DataGridTextColumn Header="Presion Patron"></DataGridTextColumn> 
          <DataGridTextColumn Header="Lecturas"></DataGridTextColumn> 
          <DataGridTextColumn Header="Error"></DataGridTextColumn> 
         </DataGrid.Columns> 
        </DataGrid> 
       </Grid> 
      </GroupBox> 
     </Grid> 
    </GroupBox> 
</Grid> 

+1

編集のためにXAMLを変更した場合は、現在の内容を確認するとよいでしょう。 –

+0

OK、新しいXAMLを追加します – Cristian

+0

@ChrisFanninパブリケーションのコードを更新しました – Cristian

答えて

1

あなたは、ハードコードサイズ属性(MarginWidthHeight、など)を使用しています。私はあなたがツールボックスからドラッグ・アンド・ドロップでそれを設計したと仮定します。このようなハードコードされた値を使用してフォームのサイズを変更すると、奇妙な結果が得られることがあります。

私はあなたが適切なサイジング情報(絶対的、オート、*)とRowDefinitionsColumnDefinitionsを使用するために、親Gridを編集し、ハードコードされたマージンを取り除くためにそれらのすべてを変える推薦する、のGrid.RowGrid.ColumnGrid.ColumnSpanGrid.RowSpanプロパティを設定しますGroupBoxをコントロールし、必要に応じてさまざまなサイジングの詳細(MarginPaddingMinWidth、など)を調整します。

子どものために同じことをしてくださいGrid要素。他のコンテナ要素を使用することもできます。

ここでは、私が話していることのスリム化された例です。

<Grid> 
    <GroupBox Header="Calibracion" Margin="0,0,0,10"> 
     <Grid> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="5*" /> <!-- Or '*', 'Auto', etc --> 
       <ColumnDefinition Width="5*" /> <!-- Or '*', 'Auto', etc --> 
      </Grid.ColumnDefinitions> 
      <GroupBox Header="Equipo" Grid.Column="0" Grid.Row="0"> 
       <!-- GroupBox contents here --> 
      </GroupBox> 
      <GroupBox Header="Patron" Grid.Column="1" Grid.Row="0"> 
       <!-- GroupBox contents here --> 
      </GroupBox> 
      <GroupBox Header="Condificones" Grid.Column="0" Grid.Row="1"> 
       <!-- GroupBox contents here --> 
      </GroupBox> 
     </Grid> 
    </GroupBox> 
</Grid> 
+0

こんにちはクリス、私は理解していないと思う、私はGroupBoxの "マージン"プロパティを削除し、追加する必要がありますか?それらを削除し、常にオーバーラップしてください – Cristian

+0

あなたのマージンは明示的にポジションを設定しています。これを行う代わりに、行と列を含むように 'Grid'を編集することができます。スクリーンショットでは、2列と2行のように見えます。だから、それらの定義を作成するだけです。あなたのGroupBoxは 'Grid'定義やStackPanelを使うことができるように見えます。これを行った後、前述の属性を使用してコントロール内にコントロールを配置します。その後、彼らはすべて衝突することなく正しく自動サイズ設定されます。 –

+0

また、個々のセル内の各グループボックスの周りにスペースを入れるには、マージンを 'Margin =" 3 "' ' –

関連する問題