問題タブ [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 に答える
454 参照

c# - ビジュアル ツリー内で Canvas を検索する

データテンプレートにスクロールビューアーがあり、コントロールを含むキャンバスを取得した FlipView コントロールがあります。私の問題は、FlipView.SelectionChanged イベントのイベントハンドラー内のキャンバスにアクセスする必要があることです。

FlipView の Xaml は次のようになります。

ビジュアル ツリーを解析するための C# コードは次のようになります。

次のように使用されます。

返されたリストを確認すると、ScrollViewer は見つかりますが、Canvas が見つかりません。AllChildren 関数の引数として返された scrollviewer を提供しようとしましたが、まだ Canvas コントロールが見つからないようです。

私はこれをすべて間違っていますか?

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

c# - TreeView 論理要素の TreeViewItem を取得する

私のツリービューはこのように見えます

クラスのArticlesTreeView.SelectedItemストア内インスタンス。と関連付けるにはNewsPaperDocument, NewsPaperPage, etcどうすればよいですか? を使用しようとしましたが、タイプがありませんTreeViewItemSelectedItemVisualTreeHelper.GetParent(elem);SelectedItemDependencyObject

UPD1問題を示す簡単なサンプルを追加します。いつitemでもArticlesTreeView_SelectedItemChangednull

XAML

CS

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

c# - XAML で、ListBox の DataTemplate 内にある (Binding ではない) TextBlock にアクセスするにはどうすればよいですか?

XAML

上記は、これの助けを借りてコードビハインドから取り込まれた私のリストボックスです:

C#

ここにあるVisualTreeHelperおよびその他の拡張メソッドを使用してみました:

ギークチャンプ

ファラフェルのブログ

しかし、私は成功していません。これでほぼ諦めました。何ができるか考えている人はいますか?ありがとうございました。

ここに画像の説明を入力

ご覧のとおり、Media Queue を正常に取得できますが、TextBlock の再生中のキャラクター (tbActive) のように、"SelectedItem" の左側に視覚的なヒントを表示したいと思います。お役に立てれば!

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

wpf - TreeviewItem内の子コントロールを取得するには?

私は TreeViewItem をStackPanelwithimagetextblockinside にカスタマイズしました。TextBlock中身の参考になれば幸いです。以下のコードnodeはタイプのものTreeviewItemであり、childrenCound =3どれがStackPanel image textblock! TextBlockしかし、それは内部を見つけることができません。コンソール出力が表示されず、object _itemToMove戻りますnull

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

c# - VisualTreeHelper を使用して ImageBrush を選択

LongListSelector から ImageBrush アイテムを選択しようとしています。ImageBrushes は DataTemplate 内にあるため、VisualTreeHelper を使用して選択しています。

私のサンプルxamlコード:

ImageBrushes を選択するための私のサンプル c# コードは次のとおりです。

しかし、ここではすべてのイメージブラシを取得していません。では、10 個のイメージブラシを用意します。しかし、ソースがあり、他のソースが空であるイメージブラシは2つしかありません(ほとんどの場合、最初と最後の)。

私の選択に間違いはありませんか?助けが必要...

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

c# - VisualTreeHelper の垂直方向と水平方向の WPF find 要素

ビジュアル ツリーで縦方向および横方向に検索する最も簡単な方法は何ですか?

たとえば、検索を開始するコントロールから親のリストにないコントロールを見つけたいとします。

以下に簡単な例を示します (すべてのボックスは何らかの UI コントロールを表します)。

ビジュアルツリー

たとえば、ネストされたコントロール ( Search-Start ) で開始し、別のネストされたコントロール ( Should be found )を見つけたいとします。

これを行う最善の方法は何ですか?完全なビジュアル ツリーの解析はあまり効果的ではないようです...ありがとうございます!

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

wpf - WPF でコントロールを検索すると、うまくいく場合とそうでない場合があります。なんで?

各列ヘッダーにボタンがあるデータグリッドがあります。XAML は次のとおりです。

ボタンを非表示にする必要がある特定の列があります。これらの列は並べ替え可能であってはなりません。ボタンを見つけるためにこのメソッドを書きました。そこに余分なコードを入れて、見つかったボタンとそのタグ値を確認できるようにしました。

ボタンを非表示/表示する方法:

ここで、グリッドが最初に読み込まれるときに SetStaticColumn("Ex", True) を呼び出しますが、ボタンは Ex 列に表示されません (機能しました)。デバッグは次のようになります。

しかし、更新されたデータを表示するためにグリッドがリロードされると、Ex 列のボタンが再び表示されます (機能しませんでした)。そしてデバッグは示します:

そのため、この時点ではボタンに Tag 値がなかったようで、見つかりませんでした。バインディングはいつ行われますか?DataGrid.ItemsSource を設定した後、DataGrid.Loaded イベント ハンドラーでも DataGrid.AutoGeneratingColumn イベント ハンドラーでもメソッドを呼び出してみました。リロード後にボタンを非表示にする唯一の方法は、メソッドを呼び出すボタンを作成し、グリッドのリロード後にそのボタンをクリックすることです。この時点で私は困惑しています。

任意の提案をいただければ幸いです。

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

c# - 8.1 ストア アプリでビジュアル ツリーのメディア要素がビデオを表示せず、オーディオのみを表示する

8.1 Windows ストア アプリで再生するビデオがあり、他のページに移動した後もオーディオを再生し続けたい..私は visualTreeHelper を使用してそれを行ったので、app.xaml でメディア要素を宣言し、app.xaml.cs のフレームに追加します。 、そして playingPage でそれを取得します。問題は、メディア要素コントロールがオーディオのみを再生し、ビデオが表示されないことです..ナビゲーション後にオーディオが再生され続けますが、再生ページでビデオが表示されません(オーディオのみ):これが私が入れたものですstandardstyles.xaml :

これはapp.xaml.csにあります

playingPage.xaml に MediaElement コントロールを追加します。

そしてその背後にあるコードで:

ナビゲーション後にオーディオを動作させようとしないとすべてうまく機能するので、ビジュアル ツリー ヘルパーを使用しない場合、この状況ではオーディオは期待どおりに動作しますが、再生中のページでビデオを見ることができません (オーディオのみ)