Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF网格格式问题。_C#_Wpf_Telerik_Label_Textblock - Fatal编程技术网

C# WPF网格格式问题。

C# WPF网格格式问题。,c#,wpf,telerik,label,textblock,C#,Wpf,Telerik,Label,Textblock,我希望有网格和两列,其中一列中有标签,另一列中有文本框,以显示值。但不幸的是,我的标签和文本框一个接一个地显示。我做错了什么?这是一种恰当而优雅的信息显示方式吗?也许你能建议其他更好的方法吗?谢谢 <StackPanel Grid.Row="0" Grid.Column="2" VerticalAlignment="Stretch"> <Grid> <Grid.ColumnDefinitions>

我希望有
网格
和两列,其中一列中有
标签
,另一列中有
文本框
,以显示值。但不幸的是,我的标签和文本框一个接一个地显示。我做错了什么?这是一种恰当而优雅的信息显示方式吗?也许你能建议其他更好的方法吗?谢谢

<StackPanel Grid.Row="0" Grid.Column="2" VerticalAlignment="Stretch">                   
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>

        <telerik:Label Grid.Column="0" Content="Name" Width="203" FontSize="16"/>
        <telerik:Label Grid.Column="0" Content="Title" Width="203" FontSize="16"/>
        <telerik:Label Grid.Column="0" Content="Phone" Width="203" FontSize="16"/>
        <telerik:Label Grid.Column="0" Content="Email" Width="203" FontSize="16"/>
        <telerik:Label Grid.Column="0" Content="Departament" Width="203" FontSize="16"/>

        <TextBlock Grid.Column="1" x:Name="txtFullName" TextWrapping="Wrap" Height="26"/>
        <TextBlock Grid.Column="1" x:Name ="txtTitle" TextWrapping="Wrap" Height="26"/>
        <TextBlock Grid.Column="1" x:Name ="txtPhone" TextWrapping="Wrap" Height="26"/>
        <TextBlock Grid.Column="1" x:Name ="txtEmail" TextWrapping="Wrap" Height="26"/>
        <TextBlock Grid.Column="1" x:Name ="txtDepartment" TextWrapping="Wrap" Height="26"/>

    </Grid>              
</StackPanel>

您需要将行添加到
网格中。目前,只有一行(因为您没有
行定义
),所以每列中的所有项目都将在一行中相互堆叠

网格行的添加方式与您添加列的方式大致相同,然后您也以同样的方式告诉控件它们属于哪一行。可以按如下方式添加行:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>  <!-- * is the default width, so not required -->
        <ColumnDefinition/>            <!-- will be the same as above due to default of * -->
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/> <!-- the * height is implied if not present -->
        <RowDefinition Height="Auto"/>  <!-- this will take up only as much space as necessary -->
    </Grid.RowDefinitions>

    <TextBox Grid.Column="0" Grid.Row="0" Text="Label 1"/>
    <TextBox Grid.Column="0" Grid.Row="1" Text="Label 2"/>
    <!-- etc... -->
</Grid>


高度为*的行将拉伸以填充可用空间(在所有高度为*的行之间划分),高度为“Auto”的行将收缩以仅占用显示其内容所需的空间。

谢谢!正是我需要的!