問題タブ [adorner]

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.

0 投票する
2 に答える
2312 参照

wpf - WPFアドナーにマウスを無視させる方法はありますか?

アドナーが存在しないかのように、アドナーの背後にある UIElement が引き続きマウス イベントを取得するように、WPF アドナーにマウスを完全に無視させる方法はありますか?

0 投票する
2 に答える
17245 参照

wpf - 適用されている要素が変更されたときに、装飾が再レンダリングされないのはなぜですか?

私が構築している UI では、パネル内のコントロールの 1 つにフォーカスがあるときはいつでもパネルを装飾したいと考えています。そのため、イベントを処理IsKeyboardFocusWithinChangedし、要素がフォーカスを獲得したときに要素に装飾を追加し、フォーカスを失ったときに装飾を削除します。これはうまくいくようです。

私が抱えている問題は、装飾された要素の境界が変更された場合、装飾が再レンダリングされないことです。たとえば、この単純なケースでは:

がフォーカスを受け取ると、装飾は の境界を正しく装飾しますが、テキストを入力すると、 はWrapPanel装飾の端の下に拡張されます。もちろん、アプリケーションから ALT-TAB を押したり、別のパネルにフォーカスを与えたりするなど、アドナーを強制的にレンダリングさせるようなことをするとすぐに、自動的に修正されます。しかし、装飾された要素の境界が変更されたときに再レンダリングするにはどうすればよいですか?TextBoxTextBox

0 投票する
1 に答える
3065 参照

c# - Adorner は MVVM を壊しますか?

MVVM を使用して WPF アプリを開発しています。私のビューのほとんどは xaml マークアップのみで、コード ビハインドには何もありません (デフォルトのボイラープレートを除く)。

画面全体を無効にするときに、装飾を使用して画面を「黒く」する 1 つのビューを除くすべて。

それは大丈夫ですか?または、ビューモデルでこれを実装するより良い方法はありますか?

0 投票する
2 に答える
5857 参照

c# - WPF: Adorner ヒット テスト / MouseDown イベント

Border を装飾する Adorner があります (下のスクリーンショットを参照してください)。ただし、Adorner の MouseDown イベントは、Adorner 内の要素をクリックしたときにのみ発生します。装飾された要素の上にある装飾の任意の場所をクリックすると、MouseDown イベントが発生する必要があります。これはどのように行うことができますか?アドナーに透明なコントロールを追加する必要がありますか、それとも別の方法がありますか? 助けてくれてありがとう!

スクリーンショットと VS 2008 プロジェクト: http://cid-0432ee4cfe9c26a0.skydrive.live.com/browse.aspx/%C3%96ffentlich?uc=2

装飾者のコード:

0 投票する
1 に答える
18487 参照

wpf - 装飾品はいつ使用する必要がありますか?

目標を達成する方法がたくさんあるため、WPF は優れています。たとえば、私が理解していることから、装飾者はいくつかのコントロールを UI 要素に追加できますが、追加の要素を含むカスタム コントロールを介して同じ動作を実現できると思います。

ですから、私の質問は次のとおりです。より複雑な (ただし、より柔軟な) カスタム コントロールよりも装飾を優先する必要があるのはいつですか? 私はMVVMパターンを広く使用していて、コマンドを追加要素にバインドしたいと考えています。

特に、ダイアグラム デザイナー アプリケーションを設計しており、図形に接続ポイントを追加したいと考えています。カスタム コントロールと装飾のどちらにするかを決める必要があるもう 1 つの例は、線を「たどる」ように自動的に配置されたラベルを示す線です。

ありがとうございました

0 投票する
2 に答える
6042 参照

wpf - WPFアドナーレイヤーが最初に利用可能になるのはいつですか?

UserControlにオーバーレイ効果を追加しようとしていますが、それがWPFで装飾者が使用されていることを知っています。しかし、私はそれらがどのように機能すると思われるかについて少し混乱しています。adornerレイヤーはWPFランタイムによって暗黙的に処理されるため、常に使用可能である必要があると考えました。

しかし、コードでUserControlのインスタンスを作成すると、そこに装飾レイヤーがありません。次のコードは例外で失敗します。

誰かが私にこれがどのように機能することになっているのか説明してもらえますか?最初にUserControlインスタンスをトップレベルのウィンドウに配置する必要がありますか?それとも、どういうわけか自分でレイヤーを定義する必要がありますか?ドキュメントを掘り下げると、どこにも行き着きませんでした。

ありがとうございました!

0 投票する
2 に答える
936 参照

wpf - WPF テンプレート: AdornedElement が表示されない!

余分な要素と元の TextBox を適切な場所に挿入した Template を使用して、いくつかの要素を TextBox に追加したいと考えています。Validation.ErrorTemplate を作成するときと同じように、AdornedElementPlaceholder を使用しようとしていますが、AdornedElement が表示されません。例をできるだけ単純化しました。

結果は、テキストボックスになるはずのスペースの周りに緑色のボックスが表示されます!

0 投票する
1 に答える
1049 参照

wpf - WPF: Adorner がキーボード イベントを受信しない

私は Adorner を持っていて、その Adorner がキーボード イベントを受信できるようにしたいのですが、これらのフォーカス全体に問題があります。装飾者がキーボード イベントを受信できるようにするには、何をする必要があるか教えてください。助けてくれてありがとう!

0 投票する
2 に答える
3928 参照

wpf - WPF 装飾層に渡されるイベントはありません

何かがメインアプリケーションにドラッグされているときに、アドナーレイヤーに表示されるWPFで素敵な「ドラッグアンドドロップゾーン」を作ろうとしています。問題は、ドキュメンテーションによると、より高い z オーダーにあるため、すべての入力イベントを受け取る必要があるにもかかわらず、アドナーからイベントを取得できないことです。

私の問題をデバッグするために、ボタンだけを含むユーザー コントロールがある非常に単純な例を作成しました。このユーザー コントロールは adorner レイヤーに表示されますが、ボタンをクリックできません。なんで?私は何を間違えましたか?

私の装飾クラスは次のように構成されています。

によってメイン ウィンドウに作成されます。

コントロールからイベントをまったく取得しません。つまり、マウス クリック、マウス オーバー、ボタン クリックはありません。装飾レイヤーのボタンをクリックすることさえできません。私は何を間違えましたか?

0 投票する
2 に答える
2156 参照

wpf - トリガーのAdornedElementプロパティ

ErrorValidationに使用しているXAMLのAdornerがあります。基本的に、2つの条件(「AdornedElement」IsFocusedまたはIsMouseOverの場合)で表示したいグリッドがあります。

以下は、AdornedElementのIsFocusedに(正常に)バインドしているコードスニペットですが、お分かりのように、条件の1/2しか解決していません。これで、別のバインディングをコンバーターに渡すことも、両方を処理するプロパティを作成することもできません(XAMLのみのソリューションである必要があります)。

私がやりたいのは、トリガーを使用してこれを処理することです。唯一の問題は、トリガーのAdornedElementのプロパティにアクセスできないことです。

このようなもの ...

これは、可視性を設定するだけでなく、アニメーションをトリガーすることの一部としても役立ちます。

どんな助けでも素晴らしいでしょう。