Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.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# 在XAML中,如何在网格中相邻放置项目_C#_Visual Studio 2010_Xaml - Fatal编程技术网

C# 在XAML中,如何在网格中相邻放置项目

C# 在XAML中,如何在网格中相邻放置项目,c#,visual-studio-2010,xaml,C#,Visual Studio 2010,Xaml,好的,Xaml是我的一个弱点,因此我非常感谢您在这方面的帮助…我试图实现的是在列表框中添加标题、姓名和姓氏,如下所示: 约翰·多伊先生 约翰·多伊女士 简·多伊太太 这是我到目前为止使用的xaml,结果是名称和姓氏相互重叠: <DataTemplate> <Grid> <TextBlock Text="{Binding Title}" Width="60" Height="25" Margin

好的,Xaml是我的一个弱点,因此我非常感谢您在这方面的帮助…我试图实现的是在列表框中添加标题、姓名和姓氏,如下所示:

约翰·多伊先生
约翰·多伊女士
简·多伊太太

这是我到目前为止使用的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>

在每个
TextBlock
中,您需要设置
Grid.Column=“?”
在哪里?是0、1或2


如果不指定列(或行),元素将默认转到(0,0)。

使用
文本块中的
网格.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" /> 

对于网格中的每个元素,如果要将它们显示在显式的行或列中,则必须指定它们。为此,您可以使用
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>

谢谢你的帮助,我知道这是件简单的事情,但我只是在摆弄利润等,只是把事情弄得复杂了……非常感谢!