我已經經歷了多個項目上同樣的問題,據我所知,這只是一個普通的OLE錯誤。這是跛腳。我發現的唯一工作就是跛腳。像超級,超級跛腳。我希望我有更好的東西,但我沒有。無論如何,我發現當我調整網格大小時,這些奇怪的滾動工件會消失,所以我編寫了一些代碼來觸發引擎更新佈局。
Timer _timer;
void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
_timer = new Timer(1000);
_timer.Elapsed += _timer_Elapsed;
_timer.Start();
}
void _timer_Elapsed(object sender, ElapsedEventArgs e)
{
//why the hell are we doing this?
//well, the stupid error adorners on the grid like to be mis-aligned
//forcing a layout to happen makes them not look off. lame, I know.
Dispatcher.Invoke(new Action(() =>
{
MainDataGrid.Margin = new Thickness(MainDataGrid.Margin.Left, MainDataGrid.Margin.Top, MainDataGrid.Margin.Right, MainDataGrid.Margin.Bottom + 1);
MainDataGrid.UpdateLayout();
MainDataGrid.Margin = new Thickness(MainDataGrid.Margin.Left, MainDataGrid.Margin.Top, MainDataGrid.Margin.Right, MainDataGrid.Margin.Bottom - 1);
MainDataGrid.UpdateLayout();
}));
}
你可以發佈截圖和一些代碼?像WPF Snoop這樣的工具可以幫助你弄清楚發生了什麼。 –
偉大的工具!現在我用它來找出這個東西是什麼類型的對象! – DeveloperInToronto