具有可见行号和列号的网格布局

时间:2014-01-22 10:46:39

标签: silverlight

如何在silverlight中显示网格布局的行号和列号?我在网格中找不到任何属性为我做的。

2 个答案:

答案 0 :(得分:0)

从此SO

  

一种方法是在DataGrid的LoadingRow事件中添加它们

<DataGrid Name="DataGrid" LoadingRow="DataGrid_LoadingRow" ...

void DataGrid_LoadingRow(object sender, DataGridRowEventArgs e)
{
    e.Row.Header = (e.Row.GetIndex()).ToString(); 
}

或者使用多绑定和转换器的另一种方法详细here

答案 1 :(得分:0)

此代码将创建一个包含20列和20行的网格...

    Dim newGrid As New Grid 'Or use existing grid

    For x = 1 To 20
        'Create row numbers
        Dim rowNum As New TextBlock With {.Text = x}
        Grid.SetColumn(rowNum, 0)
        Grid.SetRow(rowNum, x)
        newGrid.Children.Add(rowNum)
        'Create column numbers
        Dim colNum As New TextBlock With {.Text = x}
        Grid.SetColumn(colNum, x)
        Grid.SetRow(colNum, 0)
        newGrid.Children.Add(colNum)
    Next

    'Create 20 columns and 20 rows (plus one each for numbers)
    For x = 0 To 20
        newGrid.RowDefinitions.Add(New RowDefinition With {.Height = New GridLength(20)})
        newGrid.ColumnDefinitions.Add(New ColumnDefinition With {.Width = New GridLength(20)})
    Next

当然你必须玩像对齐这样的东西,也许你想在那里放一些边框或者什么东西,这样你就可以看到行和列...顶部和左边的数字很难排成一行而没有在那里。

您可以向现有网格添加行号和列号,您只需确保在第0列或第0行中没有任何实际内容,您将使用这些内容作为数字。