Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.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# 设置列在DataGrid中的显示位置_C#_Silverlight_Datagrid - Fatal编程技术网

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;
}