【发布时间】:2016-01-13 08:28:15
【问题描述】:
我正在后面的代码中生成一个超链接按钮。问题是尽管将属性设置为DisplayIndex=4,但该列首先出现在数据网格中,该列首先出现,然后是其余的列。如何修复此列的顺序?
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>
背后的代码
private void ProductGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
DataGridTemplateColumn templateColumn = new DataGridTemplateColumn();
templateColumn.DisplayIndex = 4;
templateColumn.CellTemplate = (DataTemplate)Resources["gridTemplate"];
ProductGrid.Columns.Add(templateColumn);
}
【问题讨论】:
-
为什么在代码中而不是在标记中设置
DisplayIndex? -
如何在标记中设置?
-
如果我尝试在标记中设置它,我会收到错误
The property DisplayIndex was not found on HyperlinkButton -
您希望列出现在索引号 4...MSDN link to documentation
-
我将属性添加到
<sdk:DataGridTemplateColumn Header="Hyperlink" DisplayIndex="4">,但得到了一个非常奇怪的错误DisplayIndex must be greater than or equal to 0 and less than 1
标签: c# silverlight datagrid