問題タブ [adornerlayer]
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 の子要素とは異なる親要素に不透明度を設定する
アプリケーションで「モーダル」タイプのイベントをシミュレートしようとしています。これにより、透明な背景の「薄暗い」感触と、コンテンツが含まれるフォームが得られます。
私が直面している問題は、オーバーレイキャンバスに不透明度を設定していて、それが子フォームに継承されていることです。
これは、以下のスクリーンショットに示されています。背景アイテムのコーナーがまだ見えます。
私が使用しているコードは次のとおりです。
.net - 装飾者を隠す方法は?
特定の要素の装飾を非表示/表示しようとしました:
1) 飾られた要素を隠そうとするが、うまくいかない。
2)次のコードを使用しますが、特定の要素に適用すると、他のすべての装飾が非表示になります(要素は異なるキャンバスに配置されます)。
特定の要素の装飾を非表示にするにはどうすればよいですか?
c# - Scrollviewer内でUIElementのアドナーを取得するには?
私はWPFが初めてで、これに関する解決策をしばらく探していました。私の目標は、UIElement の装飾者のサイズ変更イベントをリッスンすることです。そのため、要素の装飾者を取得する必要があります。同様の問題を検索しましたが、アドナークラスを作成したか、直接アクセスできるものしか見つかりませんでした。ただし、私の場合、装飾は UIElement が Scrollviewer に追加されたときに作成されました。あなたが知りたい場合のために、私はサーマルラベルエディタに取り組んでいます.
私は現在、投稿で読んだように、装飾がレンダリングされる AdornerLayer を持つ UIElement、scrollviewer、および scrollcontent プレゼンターを取得できます。しかし、この投稿から試したように、AdornerLayer オブジェクトの装飾をまだ見ることができませんでした: Copy UI element with adorner
これは、WPF ビジュアライザーのスクリーンショットです。http://codetampus.com/wpfvisualizer.png
誰かがこれで私を助けて啓発してくれることを願っています。
c# - Adorner Layer の下でイベントを発生させる方法
Adorner Layer の下の Button をクリックしたい。もちろん、ビジュアル ツリーでは、Adorner はコントロールとは別のブランチです。 PreviewMouseDown を処理できません
装飾層の下でイベントを発生させるにはどうすればよいですか?
xamlは以下です。
コードビハインドは以下です。
wpf - WPF DataGrid と装飾
Adorner を使用して、WPF DataGrid の選択したセルにインジケーターの三角形を配置しています (Excel のセルにコメントを挿入するときと同じ効果)。残念ながら、ランダムなアドナーが表示されるべきではない場所に表示されています。
Adorner を持つセルが 3 つあるとします。Adorner もある 3 つの余分なセルを取得しています。6 つ表示されているにもかかわらず、コードで作成されているのは 3 つだけであることを証明しました。ElementGenerated イベントで Adorners を作成/削除します。
余分なインスタンスは常に、グリッドの視覚領域にまだないセル上にあるため、問題はグリッド列の仮想化が原因であり、グリッドが新しいセルを作成するのではなく、セルを再利用していることはかなり確信しています。そのため、ElementGenerated イベントは再び発生せず、Adorner は不要な場所では削除されません。
セルの再利用時に使用できるイベントが見つかりません。どんな提案もありがたく受け取られます。
これは三角形アドナーのコードです:-
そして、追加/削除するイベント:-
c# - 装飾レイヤーの上に UI 要素を描画することは可能ですか?
私の WPF TreeView ユーザー コントロールでは、次のように、ToggleButton の周りにプログレス リングを表示して、ノードの子が生成されていることを示したいと考えています。
(完全な開示、私はいくつかのオープンソースソフトウェアでこの種の動作を見ましたが、どこで覚えていないだけです)。トグル ボタンをインタラクティブ (つまり、ホバーやクリックなどのマウス イベントを取得) にして、ユーザーが更新の完了を待ちたくない場合にノードを折りたたむことができるようにしたいと考えています。
私が最初に考えたのは、プログレス リングを装飾レイヤーとして ToggleButton に追加することでした。ただし、WPF アドナー レイヤーは Z オーダーで UI 要素の上にあるため、プログレス リングの下にあるトグル ボタンを操作できないようです。アドナーレイヤーの上にトグルボタンを描画する方法はありますか? それとも、この場合、装飾レイヤーは正しいアプローチのように見えませんか? プロパティをトリガーしてトグル ボタンのテンプレートを制御し、子を更新するときにプログレス リングとトグル ボタンの両方を描画する方がよいでしょうか? ご意見ありがとうございます。
私が活用している関連チュートリアル:
WPF Loading Wait Adorner (進行中のリングと adorner ソースへのリンクがあります)
wpf - メッセージは、ポップアップ メッセージ ボックスを使用せずに UI アプリケーションをフリーズします。
私たちはWPFで作業しています。そして、左側に複数の画面とツリーを持つアプリケーションがあります。そのうちの 1 つで、ユーザーはそのツリーのノードを追加、編集、および削除します。そのため、ユーザーがメッセージの削除を押したときにメッセージを表示する必要があります。ユーザーが本当にメッセージを削除するかどうか (はい/キャンセル)、アプリケーション全体をフリーズする必要があります。次に、ユーザーは決定を迫られます。同時に、ポップアップ メッセージは必要ありません。Adornerのようなものが必要です。灰色の背景 (アプリケーション全体がフリーズしたことを意味します) を示し、その中にメッセージを含む境界線をホストできます。Adorner の代替オプションが必要です。
c# - クリッピングなしで下のコントロールの上にある UserControl の描画アドナ
WPF ウィンドウ (タブ内) に UserControls として表示されるドキュメント内のフィールドがあります。
フィールドの下に結果を表示する自動検索機能を作成する必要がありました。
内部にコントロールを含むアドナー(リスト)を使用しました。
最初の問題は、UserControl 内のコントロールの装飾レイヤーにアクセスできなかったことです。
ウィンドウの AdornerLayer を見つけました。残念ながら、装飾品を中に入れても、どこにも見えません。
次の試みは、AdornerDecorator を UserControl 内に配置することでした。
コントロールの上に装飾を描いていた場合、これはうまくいきました。
ただし、装飾をテキスト フィールドの下に配置すると、以下のコントロールが装飾の上に描画されます。
この 2 番目の「下」のケースを適切に機能させる方法はありますか?
c# - ロード時に WPF RichTextBox のイメージに Adorner を追加
開発中のアプリケーションに RichTextBox コントロールがあり、これを ToolBar と共に使用してリッチ テキスト エディターを作成しています。私が実装した機能の 1 つは、ユーザーが画像を挿入できる機能です。この時点で、RichTextBox からの出力が RTF であることに注意してください。
ユーザーが画像を挿入するとき、次のコードを使用して画像をドキュメントに追加し、ResizeAdorner (ここではRichTextBox Resizing Adornerの例) を画像に追加して、ユーザーがサイズを変更できるようにします。ユーザーがドキュメントを保存してロードすると、イメージのサイズが正しく保持されます。
問題と質問は、ドキュメントが読み込まれたときに、ドキュメント内の画像に ResizingAdorner を追加する方法がわからないことです。添付プロパティを使用してドキュメントのコンテンツをロードしています。以下のコードは、ドキュメントをロードする部分です。
ロードされたドキュメント内の任意の画像に ResizingAdorner を追加する方法を教えてください。
wpf - アドナーを使用してすべての側面からウィンドウのサイズ変更を実装する方法は?
すべての側面からサイズを変更できるようにしたい、ボーダーレスの透明な wpf ウィンドウ (WindowStyle=None) があります。現在、ResizeMode=CanResizeWithGrip を設定した場合、サイズ変更は上記の設定でのみ機能します。これは視覚的な合図としては良いのですが、1 つの隅からしかサイズ変更できないため、あまり良くありません。
これを adorner で行いたいので、ウィンドウがサイズ変更モード (オンとオフを切り替えることができます) のときに視覚的な合図を与えることもできます。これは可能ですか?もしそうなら、どうすればいいですか?