我嘗試以下,所有這些失敗的功能ScrollIntoView,給一個NullReferenceException:WPF工具包:如何滾動數據網格以顯示代碼背後的選定項目?
// doesn't work
grid.SelectedItem = sItem;
grid.ScrollIntoView(sItem);
// doesn't work
grid.SelectedItem = sItem;
grid.Focus();
grid.CurrentColumn = grid.Columns[0];
grid.UpdateLayout();
grid.ScrollIntoView(sItem,grid.Columns[0]);
// doesn't work
grid.SelectedItem = sItem;
grid.UpdateLayout();
grid.ScrollIntoView(sItem);
的問題是,當我選擇從代碼後面一排,選擇是不可見的 - 它的地方向下探底。除非用戶滾動,否則他們覺得選擇已經消失。我需要滾動DataGrid到用戶可以看到選擇的點。
我也嘗試過「BringIntoView」,但沒有運氣。
在第一個語句我分配grid.SelectedItem = sItem,你認爲grid.SelectedItem和sItem是不同的嗎?對不起,它的錯誤答案永遠不會奏效。 – 2009-12-31 10:52:22
SelectedItem封裝在依賴項屬性上,所以我的代碼與您擁有的代碼不同。試試看,我有同樣的問題,這對我有用。 見dissembly: [類別( 「外觀」),DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),可綁定(真)] 公共對象的SelectedItem { 得到 { 回報base.GetValue(SelectedItemProperty); } set { base.SetValue(SelectedItemProperty,value); } } – 2009-12-31 12:01:09
阿卡什,你給這個去了嗎? – 2010-01-04 10:12:37