問題タブ [hierarchicaldatatemplate]

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

wpf - wpfHierarchicalDataTemplateでインターフェイスを使用する任意の方法

こんにちは私はツリーの一部であるインターフェースIFooNodeを使用しています。
HierarchicalDataTemplateを使用して、このツリーをTreeViewに表示したかったのです。ただし、これはインターフェイスが原因で機能しません。どちらも私が「いい」と呼ぶものではないという2つの方法があります

  1. どのタイプが実際にIFooNodeを実装しているかを調べ(FooNodeと呼びましょう...)、FooNodeを定義するアセンブリを見つけ、そのアセンブリへの参照を追加して、FooNodeのHierarchicalDataTemplateを作成します(Implementatingクラスが変更されないことを期待しています...)

  2. IFooNodeをラップするクラスMyCoolIFooNodeWrapperForWpfを作成し、ツリーにバインドせずに、ツリールートからMyCoolIFooNodeWrapperForWpfのリストを入力し、MyCoolIFooNodeWrapperForWpfのHierarchicalDataTemplateを作成します。

データの種類に関係なく、どういうわけか常にHierarchicalDataTemplateを適用できますか(これはそれほど悪ではないと思います...)

他のアイデアはありますか?

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

wpf - HierarchicalDataTemplate から生成された TreeViewItem の TreeViewItem スタイル/テンプレートを指定するにはどうすればよいですか?

状況:

TreeView で表される 2 つのクラスがあります。DiskSpec および DiskSet。DiskSpec は単独で存在することも、DiskSet の子になることもできます。ユーザーが DiskSpec を DiskSpec ノードから DiskSet にドラッグしてその DiskSet に追加できるように、DragDrop 機能を有効にする作業を行っています。現在、1つのことを除いてすべてが機能しています。私の DragDropHelper クラスは、そのコントロールがドラッグ ソースまたはドロップ ターゲットであることを ItemsPresenter (または関連クラス) で指定する必要があります。

私の TreeView は次のように設定されていますツリー表示

問題:

したがって、実際には 2 つの TreeViewItem スタイルが必要です。DiskSets (DiskSpecs を提示する ItemsPresenter が DropTarget であることを指定する) に対して 1 回、ItemsPresenter が DragSource であることを指定する他のすべてに対して 1 回。

残念ながら、HierarchicalDataTemplate オブジェクトから TreeViewItem Style または Template を設定する方法は見たことがありません。また、この ItemTemplate が特定の DataType 専用であることを指定する方法もないようです。

何かご意見は?または、何か不足していますか?

私の XAML からいくつかのサンプルを以下に示します。

デフォルトの TreeViewItem

DragDropHelper プロパティ設定の例については、ItemsPresenter セクションを参照してください。

ツリービュー構造

Bea Stolnitz のブログ投稿: データ バインドされた ItemsControl 間でアイテムをドラッグ アンド ドロップするにはどうすればよいですか?

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

c# - WPFツリービューデータテンプレート

私がこのようなものを持っているとしましょう:

そのようなタイプのデータテンプレートを実装するにはどうすればよいですか?現在私は持っています:

ただし、これにはフォルダの内容は表示されません。2番目のテンプレートDataTypeはlocal:TopicFolderである必要があるようですが、これはWPFでは許可されていません。

助言がありますか?

UPD:TreeViewは次のようにObservableCollection <TopicFolder>にバインドされます:

PS:それは間違いなくプライベート/パブリック/プロパティの問題ではありません。投稿されたフィールドに対応するパブリックプロパティがあります。出力にバインディングエラーはありません。FolderContentアイテムが表示されていないだけです。

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

c# - WPF TreeView-ノードの追加/削除後にツリーを更新する方法は?

私はこの記事を参照します:

WPF TreeView HierarchicalDataTemplate - 複数の子コレクションを持つオブジェクトへのバインド

次のようにツリー構造を変更します。

Entry.cs で:

Source.cs で:

XAML ファイル内:

UserControl.cs で:

特定のノード「エントリ」を右クリックしてエントリの下に新しいノード「ソース」を追加すると (「追加」メソッドを呼び出す)、エントリの下に新しい「ソース」オブジェクトが正常に追加されますが、この新しいノードが表示されません。ツリービューで。ノードの追加/削除時にツリービューを更新する方法は?

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

wpf - HierarchicalDataTemplateを使用したWPFローカライズされたTreeView

つまりね:

単純なWPFWindowsアプリケーションがあります。このアプリケーションには、いくつかの階層データを使用しTreeViewて構築され、フィードされているが含まれています。HierarchicalDataTemplate

階層データ構造は、に子アイテムを含むFakeRecクラスで構成されていList<FakeRec>ます。各アイテムには、タイトル文字列プロパティが含まれています。したがって、私のXAMLには、次のものがあります。

これは正常に機能し、生成されたものTreeViewに各ノードのタイトルが表示されます。

次に、このツリー全体をローカライズ可能にします。FakeDirResources.Resxにリソースがあります(別のアセンブリにありますが、それは問題ではありません)。私がこれを行う場合:

私のツリーは空白です(明らかに、私のFakeDirResources.resxファイルにはキーを持つリソースがないためですが、他のバインディングのTitleを使用しTitle、リソースを介して解決してから、何らかの方法で結果をツリーにバインドする必要があります。

TextBlockツリーやに関係なく、ウィンドウにaを配置するだけでHierarchicalDataTemplate、次のように問題なくリソースにバインドできることに注意してください。

これはうまく機能し、文字列をフェッチします。System.Threading.Thread.CurrentThread.CurrentUICultureプロバイダーを変更して更新すると、この文字列は新しい言語に変更されます。

問題は、2つをどのように組み合わせるかです。私は何が欠けていますか?いくつかのトリックが必要だと思います(そして、WPFでの私の短い経験では、それはおそらく簡単なトリックではありません)。

乾杯!

アロン。

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

wpf - TreeView、ObjectDataProvider、HierarchicalDataTemplate、xsd2Code が何も表示されない

xsd2code で作成されたオブジェクト階層があります。オブジェクト階層は、タイプ Project のルート オブジェクトで構成されます。このルート オブジェクトには、folder という名前の Folder の ObservableCollection が含まれています。これは、folder という名前の Folder と file という名前の File の ObservableCollection を含む再帰オブジェクトです。このオブジェクト階層を ObjectDataProvider を介して TreeView にバインドし、 HierarchicalDataTemplate 定義による表示

ObjectDataProvider と DataTemplates は、このように App.xaml にマージされたリソースで定義されます

TreeView は次のように定義されます

グローバル処理は次のとおりです。Xml ファイルからオブジェクト階層を読み込みます (xsd2code 機能)。デバッグでわかるように、オブジェクト階層はきれいです。次に、次のようなコードでオブジェクト階層を ObjectDataProvider にバインドします。

さて、TreeView には何も表示されません。何が欠けていますか?

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

.net - HierarchicalDataTemplate スキップ階層

私は次のようなデータ構造を持っています


レベル1 ---レベル2
----レベル3 ------レベル
4

に示されていHierarchicalDataTemplateます。これまでのところ問題ありませんが、レベル 2 と 3 をスキップして、レベル 4 がレベル 1 のすぐ下になるようにしたいと考えています。それは可能ですか?

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

silverlight - HierarchicalDataTemplate を使用して Silverlight で TreeView を設定し、ItemSource を使用してバインドする

私は TreeView を構築しようとしており、次のリンクのように設定しています:

Silverlight と WPF - HierarchialDataTemplate を使用したツリービュー

提供された最初の実際の回答へのコメントとして、ポスターはそれをどのように解決したかを述べていますが、コードを提供していませんでした。エンティティとグループのセットアップ構造は同じです。xamlが最終的にどのように見えるかを誰かが説明できるかどうか疑問に思っていました。彼らが新しいノード クラスを作成したということは、基本的にグループのリストを含むクラスを作成したことを意味しているだけだと思います。何かのようなもの

私はちょうど3つのレベルの深さに行こうとしています:

グループ 1
- - - - AnotherGroup1
- - - - - - - - entity1
- - - - - - - - entity2
- - - - AnotherGroup2
- - - - - - - - entity1
Group2
- - - - Entity1
- - - - Entity2
- - - - AnotherGroup1
- - - - - - - - entity1
- - - - - - - - entity2
- - - - AnotherGroup2
- - - - - - - - entity1
など...

私が言ったように、私はこれに慣れていません。私はまた、このチュートリアルを使用しようとしています:

http://blogs.microsoft.co.il/blogs/davids/archive/2009/06/04/hierarchicaldatatemplate-and-treeview.aspx

しかし、別の HierarchicalDataTemplate を設定しようとすると、ItemTemplate が複数回設定されていると表示されます。道に迷いました。


編集:ウェブでこのリンクを見つけました。それも役立ちます....私は思う...

http://www.codeproject.com/Articles/36451/Organizing-Heterogeneous-Data-on-a-WPF-TreeView.aspx

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

wpf - フィールド/プロパティに適用される HierarchicalDataTemplate

HierarchicalDataTemplate をプロパティに適用することは可能ですか? 私はそれをDataTypeに適用できることを知っていますが、それは完全に機能しますが、ジェネリッククラスがあり、唯一の区別可能な要素がこのクラスの列挙型である場合はどうなりますか? それで、どうにかして列挙型の値に別の HierarchicalDataTemplate を適用できますか??

はじめまして、

ユルゲン

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

wpf - マルチバインディングのバインディングを使用した ConverterParameter

MultiBinding の ConverterParameter に Binding を追加することは可能ですか? このようなもの:

IsFiltered は、テンプレートが適用されるオブジェクトのプロパティです。Binding が正しくない/ConverterParameter で許可されていないという XAML パーサー エラーが常に発生します...または、これを行う他の方法はありますか??

はじめまして、

ユルゲン