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