Silverlight DataGrid常用事件:
BeginningEdit:發生於一個單元格或行進入編輯模式之前。
CellEditEnded:發生於一個單元格編輯已被確認或取消。
CellEditEnding:發生於一個單元格正在結束編輯時。
CurrentCellChanged:發生於一個單元格成爲當前單元格時。
PreparingCellForEdit:發生於在DataGridTemplateColumn下的單元格進入編輯模式時。
SelectionChanged:發生於當SelectedItem或SelectedItems屬性值改變時。
Silverlight DataGrid常用方法:
BeginEdit:使DataGrid進入編輯狀態。
CancelEdit:取消DataGrid的編輯狀態。
CollapseRowGroup:閉合DataGrid的行分組。
CommitEdit:確認DataGrid的編輯完成。
ExpandRowGroup:展開DataGrid的行分組。
GetGroupFromItem:從具體Item中得到分組。
ScrollIntoView:滾動DataGrid視圖。
Silverlight DataGrid常用屬性:
AlternatingRowBackground:獲取或設置一個筆刷用來描繪DataGrid奇數行的背景。
AreRowDetailsFrozen:獲取或設置一個值用來判斷是否凍結每行內容的詳細信息。
AreRowGroupHeadersFrozen:獲取或設置一個值用來判斷是否凍結分組行的頭部。
AutoGenerateColumns:獲取或設置一個值用來判斷是否允許自動生成表列。
CanUserReorderColumns:獲取或設置一個值用來判斷是否允許用戶重新排列表列的位置。
CanUserSortColumns:獲取或設置一個值用來判斷是否允許用戶按列對錶中內容進行排序。
CellStyle:獲取或設置單元格的樣式。
ColumnHeaderHeight:獲取或設置列頭的高度。
ColumnHeaderStyle:獲取或設置列頭的樣式。
Columns:獲取組件中包含所有列的集合。
ColumnWidth:獲取或設置列寬。
CurrentColumn:獲取或設置包含當前單元格的列。
CurrentItem:獲取包含當前單元格且與行綁定的數據項。
DragIndicatorStyle:獲取或設置當拖曳列頭時的樣式。
DropLocationIndicatorStyle:獲取或設置呈現列頭時的樣式。
FrozenColumnCount:獲取或設置凍結列的個數。
GridLinesVisibility:獲取或設置網格線的顯示形式。
HeadersVisibility:獲取或設置行頭及列頭的顯示形式。
HorizontalGridLinesBrush:獲取或設置水平網格線的筆刷。
HorizontalScrollBarVisibility:獲取或設置水平滾動條的顯示樣式。
IsReadOnly:獲取或設置DataGrid是否爲只讀。
MaxColumnWidth:獲取或設置DataGrid的最大列寬。
MinColumnWidth:獲取或設置DataGrid的最小列寬。
RowBackground:獲取或設置用於填充行背景的筆刷。
RowDetailsTemplate:獲取或設置被用於顯示行詳細部分的內容的模板。
RowDetailsVisibilityMode:獲取或設置一個值用以判定行詳細部分是否顯示。
RowGroupHeaderStyles:獲取呈現行分組頭部的樣式。
RowHeaderStyle:獲取或設置呈現行頭的樣式。
RowHeaderWidth:獲取或設置行頭的寬度。
RowHeight:獲取或設置每行的高度。
RowStyle:獲取或設置呈現行時的樣式。
SelectedIndex:獲取或設置當前選中部分的索引值。
SelectedItem:獲取或設置與當前被選中行綁定的數據項。
SelectedItems:獲取與當前被選中的各行綁定的數據項們的列表(List)。
SelectionMode:獲取或設置DataGrid的選取模式。
VerticalGridLinesBrush:獲取或設置垂直網格線的筆刷。
VerticalScrollBarVisibility:獲取或設置垂直滾動條的顯示樣式。
1指定Column列表
<sdk:DataGrid AutoGenerateColumns="False" Height="236" HorizontalAlignment="Left" Name="dataGrid1" VerticalAlignment="Top" Width="368" >
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Header="編號" Binding="{Binding id}"></sdk:DataGridTextColumn>
<sdk:DataGridTextColumn Header="文本" Binding="{Binding text}"></sdk:DataGridTextColumn>
</sdk:DataGrid.Columns>
</sdk:DataGrid>
還有個DataGridCheckBoxColumn 它主要是Checkbox選項 boolean類型 另外DataGridTemplateColumn是自定義佈局數據模板
2 加載時候顯示填色
SolidColorBrush r = new SolidColorBrush(Colors.Red);
private void dataGrid1_LoadingRow(object sender, DataGridRowEventArgs e)
{
CData c = e.Row.DataContext as CData;
if (c.id % 5 == 0)
e.Row.Background = r;
else
e.Row.Background = new SolidColorBrush(Colors.White);
}
3 Row詳細顯示模板
<sdk:DataGrid AutoGenerateColumns="False" Height="236" HorizontalAlignment="Left" Name="dataGrid1" VerticalAlignment="Top" Width="368" LoadingRow="dataGrid1_LoadingRow">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Header="編號" Binding="{Binding id}"></sdk:DataGridTextColumn>
<sdk:DataGridTextColumn Header="文本" Binding="{Binding text}"></sdk:DataGridTextColumn>
</sdk:DataGrid.Columns>
<sdk:DataGrid.RowDetailsTemplate>
<DataTemplate>
<Border>
<Rectangle Width="auto" Height="50" Fill="Red"></Rectangle>
</Border>
</DataTemplate>
</sdk:DataGrid.RowDetailsTemplate>
</sdk:DataGrid>