我現在有這行代碼,我想在所有案件工作:獲取窗口的視覺內容
var visualWindowContent = (UIElement)window.Content;
時Window.Content是的UIElement這種方法將工作。但是,如果它是一個非可視對象,然後將DataTemplate應用到它上面呢?上面的代碼行會拋出一個糟糕的強制轉換異常。那麼如何在這種情況下獲得窗口的視覺內容?
編輯:起初我說VisualTreeHelper.GetChild(window,0)返回null,但它實際上是非null。我的目的是通過將visualWindowContent傳遞給AdornerLayer.GetAdornerLayer來獲得根adorner層。事實證明,由於該節點在視覺樹中不夠深,即AdornerDectorator的後代,因此在傳遞窗口的直接視覺子節點時失敗(返回null)。
我想在所有情況下 – HappyNomad
@HappyNomad編輯視覺到包括... –
請在填寫問題標記: var cp = FindVisualChild(window); var visualWindowContent =(UIElement)cp.ContentTemplate.FindName(「???」,cp); –
HappyNomad