如何在silverlight中显示网格布局的行号和列号?我在网格中找不到任何属性为我做的。
答案 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行中没有任何实际内容,您将使用这些内容作为数字。