我想從一個父控件移動到另一個(如果這將工作,我不太確定)。我可以抓住我想要移動的控制。這裏是我的代碼:「指定的可視已經是另一個Visual或CompositionTarget根的孩子」WPF FrameworkElement父和移動UIElement
public void MoveElement(UIElement uiElement)
{
var element = ((FrameworkElement)uiElement).Parent;
//TODO:Remove from parent
myControl.Children.Add(uiElement);
}
當我打到最後statment將引發ArgumentException聲明奇怪的是,Parent正在返回null。如何找到父母?這甚至會起作用嗎?
編輯:我不認爲實際移動元素是回答我的問題。我正在使用Visual Studio SDK,並能夠獲得組成編輯器窗格的UIElement
(擴展DockPanel
)。我試圖將控件從標準編輯器移動到我正在開發的自定義工具窗口中。
這被證明是一個黑客,我意識到我需要同一控件的多個實例,所以我認爲更復雜的解決方案(和更少的黑客)存儲。
請注意我編輯更新的信息。我不知道VisualTreeHelper存在。這應該有助於我確定父母。我不確定移動控制器實際上是我需要實現的。 – 2010-04-06 14:32:54