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

c# - 論理的な依存関係を階層順にリストする再帰的な方法を作成しようとしています

ウィンドウ内のすべてのビジュアルを取得するためにヘルパーを使用しましたVisualTreeが、一部の特定のコントロールが返されるリストに表示されないことがあります。これは、私が知る限り、それらがまだレンダリングされていないためです。VisualTree列挙は、コントロールが既にレンダリングされている場合にのみ役立ちます。

現在、代わりにウィンドウ内のすべての論理オブジェクトをリストする単純な再帰的メソッドを作成しようとしているので、それらがレンダリングされる前にそれらを操作できます。

だから、これが論理ツリーのためにこのようなものを作成する私の最初の試みです:

0 投票する
0 に答える
326 参照

c# - 視覚的および論理的なツリー トラバーサルが複数のレベルを取得しない

同じアプリケーションから論理ツリーと視覚ツリーを探索していますが、レベルをさらに深くすることはできません。

私のコードでは、汎用エクスプローラーを使用しています。

ProcessLogicalTree単純に反復します (再呼び出しProcessVisualTreeの前に何かを行います)。ProcessGenericTree

TextBlock結果は完全に見えますが、 をヘッダーに取得しようとするとGridViewColumn、 の論理リーフ リストにもビジュアル リーフ リストにもアイテムが存在しないように見えますFrameworkElement

Visual ElementからLogical Elementへの変換のようです。実際、時計を追加すると、これは私のVisual ChildrenTextBlockに表示されます (論理として取得され、選択されていません) が、私のコードはそれを取得できません。GridViewTab Item

私の呼び出しは非常に簡単です:

root は MainWindow です。

では、ツリーの最も深いレベルを探索するにはどうすればよいでしょうか? たぶん、取得したFrameworkElementリストを繰り返しますか? 私のProcessGenericコードはすでにそれを行っていると思います。

更新: WPF ビジュアライザーは、この種の構造を示しています。

GridViewColumnHeaderレベルには myTextBlockが含まれていますが、ビジュアル ツリーには含まれていません。

更新 2 : 要素が表示されているメイン ウィンドウから再帰を使用すると、次のコードで指定された名前のオブジェクトを見つけることができません。

VisualTreeHelperHeader プロパティ内の要素を取得できないと確信していますが、 WPF インスペクターは正しく動作します。

ツリーをトラバースするために別のアプローチを使用しているのだろうか(おそらく検査PropertiesHeader)。提案?

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

c# - ビジュアル ツリー ヘルパーを使用して Windows Phone のグリッドから特定の UIElemet を取得する

Windows phone xaml ページにグリッド ビューがあり、このグリッドにはボタン、チェックボックス、テキスト ボックスなどの多くの UI 要素が含まれています。そのグリッドから特定の UIElement を名前で検索し、その UIElement の値を取得して、いくつかの新しい値も設定したいと考えています。コード ビハインドでビジュアル ツリー ヘルパーを使用して、そのグリッドからその UIElement を取得する方法。

I want to match options. Lets Say Left Side Some Images Are Clicked And Its Border Changed And Once On Right SIde Clicked Which Option is Matched Either Left SIde Have Some Selection or Not

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

c# - グループ内の選択された RadioButton のインデックスを取得する

RadioButton rb1 への参照を取得しました。
rb1 のグループで選択した RadioButton のインデックスを取得するにはどうすればよいですか?
私はしばらくグーグルで検索しましたが、成功しませんでした。

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

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

c# - LongListSelector Windows Phone の子コントロールを検索

の子要素を見つけようとしていますLongListSelector。これが私のUIです

TextBlockここで、 のコントロールを見つけたいと思いますListHeader。このコードを使用してコントロールを見つけます。しかし、何も得られません。

TextBlockからを見つけるにはどうすればよいListHeaderですか? 私のコードで何が問題になっていますか?

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

wpf - VisualTreeHelper.GetChild() を反復処理し、データバインディングを含むコントロールで UpdateSource を呼び出します

TextBoxes や ComboBoxes などのいくつかの入力コントロールを含む WPF に ContentControl があります。これらの各コントロールは、ViewModel の特定のプロパティにデータバインドされていUpdateSourceTrigger=Explicitます。

FormularioPaciente「送信」ボタンをクリックすると、バインディングを持つすべての子をトラバースし、次のように呼び出しUpdateSourceます。

0 投票する
0 に答える
228 参照

c# - Listview/MVVMの子(Gridviewcolumn)を探す方法

ビヘイビアー (windows.interactivity に接続) 内で、Listview の子 (具体的には Gridviewcolumn) を見つけて幅を変更できるようにしようとしています。コードは分離コードなしで MVVM を使用して構築されています。

問題は、単に Gridviewcolumn の下のコードを使用すると見つからないことです。一方、 Maingrid の他の子、fe a Button は問題ありません (以下のボタンの例を参照)。

間違いがどこから来たのか提案はありますか?前もって感謝します!