ここでは、FrameworkElementを新しいウィンドウに添付してPNGファイルにパブリッシュするときのエラーです。指定された要素は既に別の要素の論理的な子です。最初に切断します。
だから、私の考えでは、親子リンクを削除し、私のメソッドを呼び出すと、このコードで再び子を追加することです:
this.RemoveLogicalChild(element);
PublishFrameworkElement(element, stream);
this.AddLogicalChild(element);
しかし、私は正確に同じエラーを得た...
私はこのエラーに関する多くの疑問をここでは見ましたが、私の問題には何も答えませんでした。 私は何が欠けていますか?
編集:ここに私のために働いていたコードは次のとおりです。
var element = _GeneratedContent as FrameworkElement;
var ParentPanelCollection = (element.Parent as Panel).Children as UIElementCollection;
ParentPanelCollection.Clear();
FileStream stream = [...]
if (element != null)
{
PublishFrameworkElement(element, stream);
ParentPanelCollection.Add(element);
}
stream.Close();
それは私を助けた!私は私の編集した質問にコードを投稿しました:) –
はnullに設定し、イベントも切断しますか? – Rauld
いいえ、イベントハンドラも削除する必要があります。 – Clemens