1

我需要在 Windows 8 上用 XAML 制作一个表单来输入地址。我不需要“联系人”标题,但它应该是这样的:

在此处输入图像描述

该示例来自IE 的 HTML5 Forms 演示

我尝试了 2 列网格,但 TextBlocks 和 TextBoxes 不容易排列。

最简单的方法是什么?

4

2 回答 2

5

这就是你可以使用的方法Grid,这对我来说似乎是一个很好的解决方案:

<Grid Grid.Column="1">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition></ColumnDefinition>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>
    <TextBlock Margin="2" Grid.Row="0" Text="Name:" Style="{StaticResource BodyTextStyle}"/>
    <TextBox Margin="2" Grid.Row="0" Grid.Column="1" Text="John Doe"/>
    <TextBlock Margin="2" Grid.Row="1" Text="Address:" Style="{StaticResource BodyTextStyle}"/>
    <TextBox Margin="2" Grid.Row="1" Grid.Column="1" Text="1 Microsoft Way"/>
    <TextBlock Margin="2" Grid.Row="2" Text="City:" Style="{StaticResource BodyTextStyle}"/>
    <TextBox Margin="2" Grid.Row="2" Grid.Column="1" Text="Redmond"/>
    <TextBlock Margin="2" Grid.Row="3" Text="State:" Style="{StaticResource BodyTextStyle}"/>
    <TextBox Margin="2" Grid.Row="3" Grid.Column="1" Text=""/>
    <TextBlock Margin="2" Grid.Row="4" Text="Zip Code:" Style="{StaticResource BodyTextStyle}"/>
    <TextBox Margin="2" Grid.Row="4" Grid.Column="1" Text="98052"/>
    <TextBlock Margin="2" Grid.Row="5" Text="Email Address:" Style="{StaticResource BodyTextStyle}"/>
    <TextBox Margin="2" Grid.Row="5" Grid.Column="1" Text="john.doe@microsoft.com"/>
    <TextBlock Margin="2" Grid.Row="6" Text="Telephone Number:" Style="{StaticResource BodyTextStyle}"/>
    <TextBox Margin="2" Grid.Row="6" Grid.Column="1" Text="(425) 333-4444"/>
</Grid>

结果如下:

在此处输入图像描述

TextBlocks和es不是TextBox排的好吗?

于 2013-05-26T14:01:12.140 回答
0

顺便说一句,您可以通过用GroupBox包围 Damir Arh 的答案来获得那个“联系人”框。

于 2014-01-11T01:33:30.190 回答