問題タブ [treeviewitem]

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 に答える
2824 参照

mvvm - MVVMLightを使用してコマンドをTreeViewItemにバインドする際の問題

MVVMLightを使用して、TreeViewItemSelectedイベントをコマンドにバインドしようとしています。

TreeViewItemはHierarchicalDataTemplateで定義されているため、Interaction.Triggersを追加できません(以下を参照)。

他にどのようにEventTriggerを各TreeViewItemに追加できますか?

ありがとう。

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

wpf - WPFMVVM-TreeViewItem内でイベントを発生させる最も正しい方法は何ですか

現在、この拡張機能を使用して、ViewModelのデータを処理する特定のイベントを設定しています...例:

esiとswiは次のとおりです。

しかし、TreeViewItemのイベントを設定したいのは何ですか?私はそれらに直接アクセスできませんよね?

編集:私は実際にItemContainerStyleを使用しています、

しかし、私はそこに私のイベントを置くことができません。これらの行はどこに置くべきですか?

前もって感謝します!

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

wpf - ダブルクリック時に TreeViewItem コントロールにコマンドを実行させる

WPF でコマンドを TreeViewItem にバインドする方法を探しているので、TreeViewItem をダブルクリックすると、ViewModel (MVVM パターン) で ICommand が実行されます。Visual Studio のソリューション エクスプローラーによく似ています。

AttachedCommandBehaviourのようなものを使用できることを望んでいましたが、機能しません。TreeViewItem自体がコマンドをサポートしていないためだと思います。

動作しない私のテスト実装は次のとおりです。

これを機能させる方法について誰か提案がありますか? または、この機能を提供するコントロールを知っていますか? もちろん、MVVM に適したソリューションを期待しています。できればすべて XAML で。

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

wpf - WPFTreeViewItemの背景

(またはアプリケーション)がフォーカスを失ったときにBackground、選択したのを変更するにはどうすればよいですか。この状況では、デフォルトで選択されたアイテムの背景が明るい灰色になります。TreeViewItemTreeView

編集:最初の答えの後に試してみてください:しかし、要素TargetName="Bd"が見つかりません。

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

wpf - WPF TreeView をメニューに変換

この作業中のツリービューをメニューに変換するのに問題があります。

このツリービューは正しく表示されます。

すべてをメニューに変更しましたが、機能しません。右向きの矢印が付いたグループ名と画像があり、機能しているように見えますが、クリックしても展開しません。

私は何を間違っていますか?

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

wpf - 選択したTreeViewItemに基づいてビューを切り替えます

他の2つのUserControlを含むShell.xamlファイルがあります。左側は私のTreeViewで、右側は詳細画面です。

選択したTreeViewItemに基づいて詳細画面を切り替え可能にしたい。単純なボタンクリックとタグを使用してこれを実行したため、DataTemplatesを使用してこれを実行できることはわかっていますが<ContentControl Content="{Binding CurrentDetailViewModel}">、選択したTreeViewItemに基づいてこれを実行する方法がわかりません。また、TreeViewを保持するUserControl用の個別のViewModelクラスと、詳細画面ごとに個別のViewModelクラスがあります。

私はTreeViewsでJoshSmithのチュートリアルを使用しています:http://www.codeproject.com/KB/WPF/TreeViewWithViewModel.aspx

したがって、彼のTreeViewItemViewModel.csクラスも使用します。

誰かがこれに光を当てることができますか?

ありがとう、

許す

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

wpf - さまざまなコントロール テンプレートを使用したテーマ WPF TreeViewItems

TreeView から継承し、項目コンテナーとして TreeViewItems を使用するカスタム PropertyGrid コントロールのさまざまなテーマを作成しようとしています。さらに、TreeViewItem がバインドされているオブジェクトの種類に基づいて、TreeViewItem のコントロール テンプレートを設定したいと考えています。ItemsSource を設定して、現在のように PropertyGrid を設定したいと思います。

現在、HierarchialDataTemplate を介して TreeViewItems.ItemContainerStyleSelector を設定することにより、バインドされたオブジェクトのタイプに基づいてさまざまなコントロール テンプレートを適用しています。このスタイル セレクターでは、リソース キーを介して静的リソースを返しています。このセレクターとリソース キー メソッドを使用するのではなく、バインド先のオブジェクトの型に基づいて異なる派生 TreeViewItem オブジェクトを作成したいと考えています。これにより、他のコントロールのテーマと同じように、タイプに基づいてテーマごとに異なるスタイルを適用できます。しかし、これを行う方法がわかりません。オーバーライド ItemsControl.GetContainerForItemOverride は、バインドされるオブジェクト、または少なくともその型が渡された場合に、私が望むことを行いますが、これを機能させる方法がわかりません。これを行う方法についてのアイデアはありますか?それとも、私は彼のことをすべて間違っているのでしょうか?

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

c# - WPF TreeViewItemでキーボードフォーカスをプログラムで取得するにはどうすればよいですか?

プログラムでキーボード フォーカスをツリー ビュー項目に設定しようとしています (特定の条件下で)。フォーカスを設定する 2 つの方法を試しましたが、どちらも にフォーカスを正常に取得できますが、TreeViewItemキーボード フォーカスが失われます。

ツリー ビューはビュー モデルにバインドされます。

TreeViewItem Selectedルーティング イベントを介してフォーカスを設定しようとしています。

にフォーカスを設定しようとしてTreeViewItemControlTemplateます:

これらのメソッドはどちらもフォーカスを取得しますが、キーボード フォーカスを失います (TreeViewItem.IsSelectionActiveは false)。ウィンドウ内の他の要素には、私が知ることができるフォーカスまたはキーボードフォーカスはありません(テストでは、フォーカスを取得できる別のパネルに読み取り専用テキストボックスが1つしかありません)。興味深いことに、(コメント アウトされた) が false の場所でキーボード フォーカスを取得できますMultiTriggerIsSelectionActive、もちろん、TreeViewItem常にキーボード フォーカスが強制されます。

キーボード フォーカスを取得する可能性を高める別の方法はありますか? また、キーボード フォーカスを取得できない条件にはどのようなものがありますか?

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

wpf - WPF TreeViewはTreeViewItemの選択をキャンセルします

この問題の解決策を探していますが、まだ適切な解決策を見つけることができません。助けてください。基本的に、オブジェクトのリストにバインドされたツリービューがあります。ユーザーが treeviewitem をクリックすると、treeviewitem に基づいてデータ グリッドのデータが読み込まれます。ユーザーはグリッド内のデータを変更できます。データ グリッドに変更があり、ユーザーが別のツリービュー項目をクリックすると、ユーザーは保存するよう求められます。ユーザーは、はい、いいえ、またはキャンセルを選択できます。ユーザーがキャンセルを選択すると、アプリケーションは、ユーザーがデータ グリッドを保存するまで、ユーザーを現在のツリービュー項目にとどまらせる必要があります。問題は、ユーザーが別のツリービュー項目を選択すると、以前の選択が再度選択されるようにできないことです。「SelectedItemChanging」イベントはありません。WPF ツリービューには SelectedItemChanged イベントしかありません。私' 複数のソリューションを試していますが、常に無限に終わります。ヒントやアドバイスがあれば教えてください。

ありがとう、ミン

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

c# - HierarchicalDataTemplateを使用したTreeView、MouseDoubleClickやItemSelectedなどのTreeViewItemイベントにアクセスする方法はありますか?

HierarchicalDataTemplateを使用してTreeViewを作成しました。MouseDoubleClick()およびのようなTreeViewItemイベントにアクセスする方法はありますかItemSelected()

これが私のコードです: