問題タブ [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 投票する
1 に答える
2041 参照

wpf - WPF 装飾の保存

私はWPFに比較的慣れていないので、Adornersに問題があります。

画像を含むインクキャンバスがあり、ユーザーが追加したストロークで画像を保存できます。私が抱えている問題は、ユーザーが画像の上にテキストを追加し、画像を損なうことなくテキストを印刷/保存できるようにする必要があることです。

アドナーを使用してインクキャンバスにテキストを配置しましたが、画面上では問題なく見えますが、テキストを保存するか、テキストを使用して画像を印刷するかがわかりません。

どんな助けでもいただければ幸いです

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

.net - WPF でコントロールの上にプログレス バーを表示する方法

WPF UserControl では、WebService を呼び出す必要があります。別のスレッドでこの呼び出しを行っていますが、呼び出しに時間がかかる可能性があることをユーザーに通知したいと思います。

WebMethod はオブジェクトのコレクションを返し、それを UC の ListBox にバインドします。これまでのところ、とても良いです... この部分は本当にうまくいきます。ただし、通話中に進行状況バー (または任意の種類のアニメーション...) を表示したいと考えています。このアニメーションは、ListBox コントロールの上に中央に配置されます。

Adorner を試してみましたが、部分的に機能します。ただし、保護されたオーバーライド void OnRender(DrawingContext drawingContext) ですべてのコントロールを描画する必要があります...数秒間コントロールを追加したいだけです...

どうすればこれを達成できるか考えている人はいますか?

ありがとう!

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

wpf - 動的に追加されたコントロールの初期検証

WPF 検証システムは、オブジェクトの初期検証を実行します (つまり、データバインドされたアイテムが変更されるとすべてのフィールドが検証され、結果が UI に表示されます)。しかし、コントロールを動的に追加すると、このようには機能しません。このような場合、最初の検証が行われますが、結果は UI に表示されません。データバインドされたオブジェクトのいくつかのプロパティが変更された後でのみ、すべてが正しく機能し始めます。これが粗いサンプルです。

MyObject クラスがあるとします

また、MyObject オブジェクトの編集を可能にする MyUserControl などのユーザー コントロールもあります。どういうわけか次のようになります。

現在、このコントロールが xaml のメイン ウィンドウ (またはコンストラクターまたはウィンドウ ロード イベントのコード ビハインド) に追加されている場合、MyCustomControl.DataContext が MyObject クラスの新しいインスタンスに設定されている場合よりも、Name フィールドがすぐに検証され、エラー通知が行われます。検証エラー テンプレートを使用して表示されます。ただし、MyCustomControl が動的に追加されると (たとえば、ボタンがクリックされた後)、最初の検証が行われますが、UI に結果が表示されません (赤い境界線がないなど)。

アプリケーション ウィンドウがドックパネル (dockPanel) とボタンで構成されているとします。

なんで?

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

c# - アドナー内のアニメーション (OnRender を呼び出す)

私は .NET 3.5 で Adorner を使用しており、OnRender をオーバーライドすることで描画できますが、外観を変更するために adorner を再描画する機能が必要です。

基本的に、描画コンテキストをクリアして OnRender を再度呼び出す方法を探しています。これを行う最善の方法は何ですか、またはより良いアプローチはありますか?

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

wpf - いいえ、Adorner は WPF で AdornedElement の DataContext を自動的に取得しません。

元の質問: AdornerWPF の「AdornedElement」の「DataContext」を自動的に継承しますか?

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

c# - 深くネストされたビジュアル ツリーでのドラッグ アンド ドロップ装飾

キャンバス上にカスタム コントロールを含むカスタム ウィンドウを持つ WPF アプリケーションがあります (カスタム ウィンドウを含むメイン キャンバスは、再びカスタム コントロールを表示します)。したがって、基本的にビジュアル ツリーは次のようになります (暗黙的な境界線やその他のものは除きます)。

ここで、これらのカスタム コントロールを相互にドラッグ アンド ドロップする必要があります (通常は、移動可能なウィンドウからバックグラウンド ウィンドウへ)。ドラッグ アンド ドロップの装飾を表示するには、装飾された要素と装飾レイヤーが必要です。通常、例ではそのために grid または itemscontrol を使用し、同じ要素から adorner レイヤーも取得します。

ScrollPreseneter/CustomWindows がコンテンツをクリップしてウィンドウの外にドラッグできないため、ここで同じことを行っても機能しません。今のところ、ルート キャンバスが見つかるまでビジュアル ツリーをたどり、それを装飾された要素として使用しますが、それはちょっと汚れているように見えます (そして、私たちが経験したように、あまり堅牢ではありません)。

これに対する堅牢なソリューションに関する提案はありますか?

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

wpf - HwndSourceはAdornerレイヤーを表示しません

HwndSourceでアドナー(テキストボックスのエラー境界)を使用するWPFコントロールをホストすると、アドナーが表示されません。アドナーレイヤーがないようです。それはなぜですか、それに対して私は何ができますか?これは既知のバグですか?

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

wpf - WPF AdornerTransforms

私は、ユーザーがコンテンツの上に配置されたサイズ変更可能な長方形を「描画」できるコントロールを構築しています。これらの長方形のサイズを変更するには、長方形のサイズを変更するために4つの親指を含むそれらの上にAdornerを使用します。

問題は、このコントロールが「ズーム可能」であるということです。つまり、ズーム率に応じて、ScaleTransformがコントロール全体に適用されます。AdornerのThumbsは、このScaleTransformの影響も受けます。

ただし、ズーム率に関係なく、サイズを維持する必要があります。Adornersを長方形レイヤーの代わりに別の変換されていないコントロールのレイヤーに配置しようとしましたが、これは機能しませんでした。どうすればこれを達成できますか?

ありがとう、アンドレイ

0 投票する
3 に答える
5301 参照

wpf - WPF 装飾クリッピング

私は を持ってItemsControlScrollViewerます。のアイテムは、基本的に で構成される にItemsControl展開されます。DataTemplateAdorner

問題は、スクロール時に のビジュアル チルドレンが のAdorner外側に表示されることScrollViewerです。水平オフセット 0 から 100 までスクロールすると、ビジュアル チルドレンがAdorner左に移動し、 の横に表示ScrollViewerされますが、非表示にする必要があります。または の設定ClipToBoundsが機能しない。ItemsControlScrollViewer

Adornerすべての要素の上に z オーダーでレンダリングされることは理解していますが、 ScrollViewer. 途中で飾らElementれた は期待どおりに動作し、 からは見えませんScrollViewer

Adorner表示されているスクロール領域にのみ表示されるように、sを「クリップ」する簡単な方法はありますか?

ありがとう、アンドレイ

0 投票する
3 に答える
1986 参照

wpf - 縮小しても WPF Expander に Validation Error adorner が表示される

TextBox次のように、検証エラー メッセージを表示するためのスタイルがあります。

TextBox住んでいExpanderます。エキスパンダーを開くと、入力はTextBox許可されますが、入力がNullorEmpty、または特殊文字を含む場合、検証に失敗します。

私の問題は、検証エラーをトリガーするTextBoxと、赤く点灯し、ツールチップとしてメッセージ付きのアイコンが表示されることです。これまでのところすべて順調です。Expanderしかし、検証に合格せずに閉じると、赤いアウトラインとツールチップ付きのアイコンがまだ残っています! Expander縮んでも!浮かんでいるだけ… これは良くない振る舞いです。

の他のすべてのコントロールと一緒に検証のものを非表示にする方法についてのアイデアはありExpanderますか? また、検証用の Style は、それ自体ではなく、UserControl のリソースで宣言されExpanderます。