在XAML中,如何在网格中将项目并排放置?

3

好的,Xaml 是我比较薄弱的领域,所以我很需要帮助... 我想实现的是在列表框中添加一个标题、名字和姓氏,如下所示:

Mr. John Doe
Ms. John Doe
Mrs. Jane Doe

这是我目前的 Xaml 代码,结果是名字、标题和姓氏重叠在一起:

<DataTemplate>
                <Grid>
                    <TextBlock Text="{Binding Title}"  Width="60" Height="25" Margin="4" HorizontalAlignment="Left" />
                    <TextBlock Text="{Binding FirstName}" Width="60" HorizontalAlignment="Center" />
                    <TextBlock Text="{Binding LastName}" Width="60" HorizontalAlignment="Right" />

                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="1*"/>
                        <ColumnDefinition Width="1*"/>
                        <ColumnDefinition Width="1*"/>
                    </Grid.ColumnDefinitions>
                </Grid>
            </DataTemplate>
3个回答

3

TextBlock 中使用 Grid.Column 属性。例如:

<TextBlock Text="{Binding Title}"  Width="60" Height="25" Margin="4" HorizontalAlignment="Left" Grid.Column="0"/> 
<TextBlock Text="{Binding FirstName}" Width="60" HorizontalAlignment="Center" Grid.Column="1" /> 
<TextBlock Text="{Binding LastName}" Width="60" HorizontalAlignment="Right" Grid.Column="2" /> 

谢谢,那个方法可行。我知道问题很简单,但我一直在调整边距等复杂的东西...非常感谢! - Tkingovr

3
在每个TextBlock中,您需要设置Grid.Column="?",其中?为0、1或2。
如果您没有指定列(或行),元素默认会进入(0,0)。

0

对于网格中的每个元素,如果要将它们放在显式行或列中,则必须指定它们。为此,您可以使用 Grid.Row =“X” Grid.Column =“X”。如果您将它们省略,则默认值为0。

在您的情况下,您需要执行以下操作。

<DataTemplate>
    <Grid>
        <TextBlock Text="{Binding Title}"  Width="60" Height="25" Margin="4" HorizontalAlignment="Left" Grid.Column="0" />
        <TextBlock Text="{Binding FirstName}" Width="60" HorizontalAlignment="Center" Grid.Column="1" />
        <TextBlock Text="{Binding LastName}" Width="60" HorizontalAlignment="Right" Grid.Column="2" />

        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="1*"/>
            <ColumnDefinition Width="1*"/>
            <ColumnDefinition Width="1*"/>
        </Grid.ColumnDefinitions>
    </Grid>
</DataTemplate>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接