olidev
olidev

Reputation: 20624

Set two children elements with equal width, each with 50% in wpf

If I have two elements in a stackpanel:

<StackPanel Margin="2,2,2,2" Orientation="Horizontal">
      <TextBlock Grid.Column="0" Text="{Binding Name}" />
      <TextBox Grid.Column="1" Text="{Binding Age}"/>
</StackPanel>

How can I set them with the width equally 50%,50%?

Upvotes: 14

Views: 18021

Answers (2)

Kishore Kumar
Kishore Kumar

Reputation: 21863

use UnformGrid with columns 2 or Grid with 2 columns

<UniformGrid Columns="2">
     <TextBox></TextBox>
     <TextBox></TextBox>
</UniformGrid>

or

 <Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition></ColumnDefinition>
        <ColumnDefinition></ColumnDefinition>
    </Grid.ColumnDefinitions>
    <TextBlock Grid.Column="0"
               Text="{Binding Name}" />
    <TextBox Grid.Column="1"
             Text="{Binding Age}" />

</Grid>

Upvotes: 19

Rik van den Berg
Rik van den Berg

Reputation: 2839

To answer your comment

<Grid>
   <!-- Define Columns -->
   <Grid.ColumnDefinitions>
      <ColumnDefinition Width="*"/>
      <ColumnDefinition Width="*"/>
   </Grid.ColumnDefinitions>    

   <TextBlock Grid.Column="0" Text="{Binding Name}" />
   <TextBox Grid.Column="1" Text="{Binding Age}"/>
</Grid>

Upvotes: 28

Related Questions