問題タブ [visualtreehelper]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - WPF の ListBox の DataTemplate のコントロールにアクセスする方法
StackPanel を持つ ItemTemplate を含む ListBox があります。そのスタックパネルにアクセスして、その可視性を変更したいと考えています。
(mouseleftbutton の「closeAll」をクリックすると、可視性が折りたたまれます)
FindDescendantByName メソッドでそれを行うことができますが、画面上のリストボックス項目 (最初の 10 項目のみ) でのみ機能しますが、下にスクロールすると、他のリストボックス項目では機能しないことがわかります。
VisualTreeHelper が原因でエラーが発生すると思います。VisualTreeHelper の代わりに何を使用できますか?
ありがとう..
XAML コード
C# コード
c# - WPF でビジュアル ツリーからデタッチする方法
UIElement
別のパネルで使用するために aからa を正しく削除しようとしてInlineUIContainer
いますが、「指定されたビジュアルは既に別のビジュアルの子であるか、CompositionTarget のルートです。」というメッセージが表示されてプログラムがクラッシュし続けます。
私の痛みを説明する小さなアプリケーションを作成しました。このプログラムでは、ランディがガールフレンドによってボタンが殺され\削除されると、彼はまだ親から離れていませんUIElementIsland
。そして、他の何かの子として Randy を追加しようとすると、アプリケーションがクラッシュします (The Apocalypse Button が私の主張を証明しています :))。ランディを削除する前\後にクリックしてランディの両親を確認すると、ランディが常にUIElementIsland
子供の頃の下にいることに気付くことができます。
面白いアプリケーションなので、ただの楽しみでもコピーしてコンパイルしてください! ヘルプ\アイデアをいただければ幸いです!
C# の部分:
XAML:
コード全体はこれよりも短いはずでしたが、少し面白くするためにスパイスを加えました。私が誰かの一日を少し明るくしたことを願っています。それでも、助けてください:)。
答え:InlineUIContainer
次
のように Randy から導出します。
今度は Randy を適切に殺して、UIElement 天国 (The StackPanel
) に追加します。
みんな、ありがとう。