C# 在XAML中,如何在网格中相邻放置项目
好的,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,结果是名称和姓氏相互重叠:
<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>
谢谢你的帮助,我知道这是件简单的事情,但我只是在摆弄利润等,只是把事情弄得复杂了……非常感谢!