获取同一行的文本框

时间:2015-01-15 03:42:48

标签: c# xaml windows-phone

现在两个文本框和' ='标志在两条不同的线上。

像这样:

enter image description here

我喜欢将它们全部放在同一行,例如:

enter image description here

我该怎么做呢?

3 个答案:

答案 0 :(得分:3)

  1. 将它们放入StackPanel
  2. 设置StackPanel的Orientation = Horizo​​ntal

答案 1 :(得分:3)

一个简单的水平堆栈面板可以工作,但您可能喜欢网格的自动调整大小功能。

<Grid Margin="10,0,10,0">
    <StackPanel Orientation="Vertical">
        <TextBlock>CONVERTER</TextBlock>
        <RadioButton>Area</RadioButton>
        <RadioButton>Currency</RadioButton>
        <RadioButton>Temperature</RadioButton>

        <!--
            For specific-sized widths, a simple horizontal stack panel will do,
            along with margins to make sure there is padding around the equal sign.
        -->
        <StackPanel Orientation="Horizontal">
            <TextBox Width="150"/>
            <TextBlock Text="=" VerticalAlignment="Center"
                       Margin="10,0,10,0" FontSize="24"/>
            <TextBox Width="150"/>
        </StackPanel>

        <!--
            For edit controls that scale based on the screen width,
            you can use a grid. 
        -->
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="Auto"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
            <TextBox Grid.Column="0"/>
            <TextBlock Grid.Column="1" HorizontalAlignment="Center"
                       VerticalAlignment="Center" Margin="10,0,10,0"
                       FontSize="24" Text="="/>
            <TextBox Grid.Column="2"/>
        </Grid>
    </StackPanel>
</Grid>

enter image description here

有关如何定义网格列的详细信息,请参阅http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.columndefinition.width.aspx

答案 2 :(得分:1)

有多种方法。您可以使用stackpanel或wrappanel并使用orientation = horizo​​ntal。或者您可以使用网格并使用两列并将文本框放在那些列中。