Silverlight DataGrid超出列表高度时自动滚屏
今天在操作DataGrid時發現一個問題,當展示的數據已經超出了DataGrid的高度時,雖然會有滾動條出現,但是新增加的數據卻沒有在表格中顯示,需要拖動滾動條之最低端才能夠查看到剛剛新增的數據。
?
問題:當顯示數據超出DataGrid顯示的高度時,如何在添加數據后能自動查看該數據,而不需要拖動滾動條,如圖示:
圖中添加完編號為10的商品時,自動選擇這一行并將滾動條自動顯示最底端顯示最后添加的數據。
?
解法:1:添加數據后添加的數據在最頂端顯示,這樣就不需要控制滾動條了,只需要控制數據綁定集合中的位置(想實現的朋友可以自己嘗試下,重點解說第二種解法)
2:添加數據后滾動條自動移動到最底端,顯示最后添加的數據,并選中該數據
?
解法2代碼
void btnProduct_Click(object sender, RoutedEventArgs e)
{
OrderDetail item = new OrderDetail();//綁定對象中的明細(即列表中的一行數據)
item.OrderDetail_Count = count != 0 ? count : string.IsNullOrEmpty(txtCount.Text) ? 1 : Convert.ToInt32(this.txtCount.Text);
item.OrderDetail_ID = Guid.NewGuid();
item.OrderDetail_Index = order.Items.Count + 1;
//……各個item屬性的代碼省略,下面直接上關鍵代碼
order.Items.Add(item);
this.dgOrder.ScrollIntoView(item, this.dgOrder.Columns[0]);//移動到剛剛添加的數據
this.dgOrder.SelectedItem = item;//默認選擇該數據
this.dgOrder.ItemsSource = order.Items;//綁定數據源,order.Items是一個個OrderDetail對象的集合
}
?
轉載于:https://www.cnblogs.com/aijie/archive/2012/03/30/2424983.html
總結
以上是生活随笔為你收集整理的Silverlight DataGrid超出列表高度时自动滚屏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: POJ 1423 Big Number
- 下一篇: 翻译: Waf 教程