問題タブ [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.

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

wpf - WPFマウスの下の要素を取得

MouseMove イベントでマウスの下にある要素の配列を取得する WPF の方法はありますか?

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

pixelsense - Surface Contact が ScatterView 上にあるかどうかを検出する方法は?

これは、MS Surface の SDK サンプル ショッピング カートと (一種の) 類似した状況です。

2 つの ScatterViews を持つアプリケーションがあります。1 つ目は、サーフェス ウィンドウ全体 (「サーフェス」) をカバーします。2 つ目は、TagVisualization オブジェクト (「ポッド」) にあります。複数のポッドが使用可能である可能性があります (テーブルで複数のタグがダウンしている場合)。

ScatterViewItem を「ポッド」から「サーフェス」または別の「ポッド」にドラッグできるようにしたいと考えています。ScatterViewItem が ScatterView 親を離れているかどうかを検出するのに問題はありません。また、ScatterViewItem の親を変更しても問題ありません。

ただし、アイテムがドラッグされている ScatterView を検出したいと考えています。SDK サンプルでは、​​ScatterViews の下にあるビジュアル要素 (この場合は楕円) を使用しています。VisualTreeHelper.HitTest は、接触が楕円上にあるかどうかを判断するために使用されます。その場合、「接続された」ScatterView が見つかります。

これは非常にエレガントなソリューションではないと思います。連絡先が ScatterView の上にあるかどうかを検出するためだけに、そこに視覚要素を入れたくありません。

この種の「ヒットテスト」を達成するためのより良い方法はありますか?

ありがとう、バート

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

wpf - gridview オブジェクトから親リストビューを取得する

WPF アプリケーションの分離コードには、GridView を含む変数があります。この GridView が ListView のビューであることは確かです。その ListView への参照を取得する方法はありますか?

ありがとう

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

wpf - VisualTreeHelper から正確な結果を得るために、WPF rendercycle にどのように「プラグイン」できますか?

現在、複数の子 (CHILD) ユーザー コントロールを含むことができる WPF ユーザー コントロール (PARENT) を作成しています。(CHILD) コントロールをポリラインで接続しています。

これを行うには、CHILD ユーザー コントロールの場所が必要です。ただし、VisualTreeHelper.GetOffset から取得した場所はゼロです。コントロールの OnLoaded イベント ハンドラーにコードを配置すると、子コントロールの正しい場所が取得されるため、WPF はおそらく、CHILD コントロールのサイズ変更とメモリへの配置をまだ完了していません。

親コントロールをロードした後でも、子コントロールを追加して行を更新できるようにしたいので、これは問題です。

私が現在これを解決した方法は、CHILD コントロールの OnRender をオーバーライドし、MAIN コントロールのイベントを発生させて、VisualTreeHelper を使用して正しい値を取得できることを認識させることです。

ただし、これは、最後の CHILD コントロールのレンダリングが完了するまで、線を再描画する必要があることを意味します。

私の現在の解決策は、解決策というよりも回避策のように感じます。VisualTreeHelper から正確な結果を得るために、WPF rendercycle にどのように「プラグイン」できますか?

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

c# - WPFで同等のSilverlightのFindElementsInHostCoordinatesとは何ですか?

Rectangleフレームワーク要素によってオーバーラップするコントロールを取得するために、WPFCanvasコンポーネントで長方形ヒットテストを実行したいと思います。SilverlightのVisualTreeHelper.FindElementsInHostCoordinates方法を見つけましたが、WPFでは使用できないようです。

そのような機能を実現するための最良の方法は何ですか?

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

silverlight - ページ全体ではなく、コントロール スペースに相対的な FindElementsInHostCoordinates

VisualTreeHelper メソッド FindElementsInHostCoordinates を使用して、指定された X および Y の位置で ListBoxItem を検索しています。ただし、X と Y の値は、関心のある ListBox だけでなく、ページ全体のポイントに関連しているように見えます (その要素をメソッドのサブツリー パラメーターに渡しているにもかかわらず)。以下では、これは ListBox から派生したカスタム コントロールを指します。

したがって、(0,0) は、ListBox の左上隅ではなく、プラグイン全体の左上隅を基準とします。ページ座標を ListBox 座標に変換するために、ここで自分自身 (コード内) で数学的な作業を行う必要がありますか、それとも、特定の X および Y ポイントが ListBoxItem の上にあるかどうかを判断するヒット テストを実行する他の方法はありますか?

ありがとう。

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

wpf - コードで生成されたデフォルト コントロール テンプレート ComboBox の一部である TextBlock を見つける

コンボ ボックスのコントロール テンプレート内にある TextBlock を見つけようとしています。VisualTreeHelpar.GetChildrenCount の使用は、comboBox が XAML で宣言されている場合にのみ機能します。その場合、GetChildrenCount は 1 を返し、再帰的な検索が可能です。

ただし、コードを使用してコンボを Window クラスのメンバーとして宣言し、割り当ててその場所に設定すると、関数 GetChildrenCount は 0 を返します。このシナリオで snoop を実行すると、コンボの子階層が表示されます。snoop と同じように、comboBox を検索できるようにしたいと考えています。

どんな助けでも大歓迎です。

コード:

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

silverlight - Silverlight: キャンバス上に画像が見つかりません

私のキャンバスには、画像オブジェクトがあります。ソースは設定していませんが、座標とサイズがあります。タグは次のとおりです。

<Image Canvas.Top="50" Canvas.Left="20" Height="68" Width="110" Horizo​​ntalAlignment="Left" Name="image1" Stretch="Fill" VerticalAlignment="Top" />

ここに問題があります。マウスをその上に移動すると、それを見つけたいと思います。このコードで:

VisualTreeHelper.FindElementsInHostCoordinates(point, Application.Current.RootVisual)

ソースが設定されていない限り、画像は見つかりません。ソースが設定されていない場合、画像は返されません。誰かが理由を知っていますか?これは私に問題を引き起こしています。いくつかのドラッグ アンド ドロップ コードがあり、そのイメージ コントロールに何かをドロップしようとしていますが、マウスがいつその上にあるかを知る必要があります。

私はそれを行うことができる他の方法があることを知っています(グリッドなどのような別のものをその場所に配置してそれを検出するなど)が、それはうまくいきません。うまくいくいくつかの方法を考えることができますが、それらははるかにエレガントではありません.

上記で画像を返すことができれば、それは間違いなく理想的です。

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

wpf - Expander の境界ボックスを計算するには?

Expander コントロールがあり、非表示の要素とマージンなしでその境界を計算する必要があります。通常は で実行できますVisualTreeHelper.GetDescendantsBounds。しかし、rect は VisualTreeHelper によって計算され、エキスパンダーの状態には依存しないようです。例えば:

http://i.piccy.info/i5/58/39/273958/collapsed.jpg

(画像載せれません。ごめんなさい)

展開された状態と同じ結果 (画像上の薄緑色の四角形)。この問題を解決する方法を知っている人はいますか?

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

wpf - WPF の VisualTreeHelper.HitTest の問題

Canvas で多数の UserControls をヒット テストしようとしています。HitTest() でビジュアル ツリー全体を処理したくないので、FilterCallback を使用して、UserControl のみをヒット テストするようにしています。

私の問題は、UserControl がヒットしないことです。ヒットするはずですが、ヒットしません。FilterCallback を使用すると、何もヒットしなかったことを返します。HitTest をビジュアル ツリーで実行すると、UserControl がスキップされます。

ここにいくつかのコードがあります: