C# 设置列在DataGrid中的显示位置
我正在代码后面生成一个超链接按钮。问题是,尽管将属性设置为C# 设置列在DataGrid中的显示位置,c#,silverlight,datagrid,C#,Silverlight,Datagrid,我正在代码后面生成一个超链接按钮。问题是,尽管将属性设置为DisplayIndex=4,但列在datagrid中首先出现,然后是其余列。如何确定此列的顺序 XAML代码 <sdk:DataGrid AutoGenerateColumns="True" HorizontalAlignment="Left" Height="163" VerticalAlignment="Top" Width="380" Margin="10,59,0,0" Grid.Row="2" Grid.Column="
DisplayIndex=4
,但列在datagrid中首先出现,然后是其余列。如何确定此列的顺序
XAML代码
<sdk:DataGrid AutoGenerateColumns="True" HorizontalAlignment="Left" Height="163" VerticalAlignment="Top" Width="380" Margin="10,59,0,0" Grid.Row="2" Grid.Column="1" Name="ProductGrid" Visibility="Collapsed">
<sdk:DataGrid.Columns>
<sdk:DataGridTemplateColumn Header="Hyperlink">
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate x:Name="gridTemplate">
<StackPanel Orientation="Vertical" VerticalAlignment="Center" >
<HyperlinkButton Content="Hyperlinkbutton" Tag="Hyperlinkbutton" HorizontalAlignment="Center" />
</StackPanel>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
</sdk:DataGrid.Columns>
</sdk:DataGrid>
设置现有列的
DisplayIndex
是否会更改其位置,而不是添加新列
<sdk:DataGridTemplateColumn x:Key="HyperlinkColumn" Header="Hyperlink">
为什么要在代码中设置
DisplayIndex
,而不在标记中?我如何在标记中设置它?如果我尝试在标记中设置它,我会得到错误在HyperlinkButton上找不到属性DisplayIndex
您希望列显示在索引编号4处。。。我将属性添加到
中,但出现了一个非常奇怪的错误DisplayIndex必须大于或等于0且小于1
<sdk:DataGridTemplateColumn x:Key="HyperlinkColumn" Header="Hyperlink">
private void ProductGrid_AutoGeneratingColumn(object sender,
DataGridAutoGeneratingColumnEventArgs e)
{
var column = (DataGridColumn) Resources["HyperlinkColumn"];
column.DisplayIndex = 4;
}