問題タブ [itemcontainergenerator]
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.
.net - WPF アイテム コンテナーのリサイクル
Canvas
コンテナとして使用する場合、コンテナをリサイクルするカスタムを実装したいと考えていますItemsPanel
。そのため、 andから派生しVirtualizingPanel
てオーバーライドしました。私はこのように世代をやっています:ArrangeOverride
MeasureOverride
MeasureOverride
私が知らないのは、リサイクルの仕方です。私は次のようなものを試しました:
しかし、うまくいきません。これを行う方法はありますか?
c# - wpfはTreeViewItemコンテナを手動で生成します
実行時にTreeViewを作成しています。複数のノード(TreeViewItem)があり、それぞれに名前が付いています。最初は折りたたまれています。別のコンボボックスには、すべてのTreeViewItemの名前が表示されます。選択した名前に基づいてTreeViewItemを強調表示する必要があります。私は再帰関数を使用していて、次のようなTreeViewItemコンテナーを取得します。
でもそれは
parent.ItemContainerGenerator.Status = GeneratorStatus.NotStarted
折りたたまれたすべてのアイテム。それらのコンテナを手動で(拡張せずに)生成するにはどうすればよいですか?
wpf - WPFリストビュー-「視野」外のアイテムを選択します
ListViewを使用してリスト内のアイテムを表示しています。ユーザーは自分でアイテムを選択するか、いくつかの「事前選択キー」を使用して、指定された属性を持つアイテムを選択できます。
アイテムをチェックするために、私はそのようなものを使用します:
これは、実行時に表示されるアイテムに対して完全に機能します。ただし、表示されていないアイテムの場合、ContainerFromIndex()はnullを返します。これは仮想化と関係があり、リストは「視野」の上下の項目については知らないと聞きました。しかし、手動で選択したときに、リスト内の「視野」の外にあるアイテムを選択できるようになるのはなぜですか?
そして、「視野」の外でアイテムを選択するにはどうすればよいですか?それは可能だと思います。
助けてくれてありがとう、マークス
silverlight - 新しく作成されたアイテムの TreeViewItem を取得する
「childItem」を取得するには、次の方法よりも良い方法が必要です
何らかの理由で item.ItemGenerator.ContainerFromItem(child) が機能しません (作成されたばかりのアイテムが原因である必要があります)
wpf - ItemContainerGenerator.Status列挙はいつGeneratorStatus.Errorを返しますか?
ItemContainerGenerator.Status
列挙はいつGeneratorStatus.Error
WPFに戻りますか?誰かがそのような状況に遭遇したことがありますか?私は主にSilverlightで作業していて、GeneratorStatus
そこには存在しないので、疑問に思っています。
c# - ItemContainerGenerator.itemChanged イベントからホストを見つける
私は C# 4.0、WPF に取り組んでいます。3 つの ListView があり、3 つのコントロールすべてに同じ ItemContainerGenerator_ItemsChanged" イベント ハンドラーがあります。したがって、私の問題はListView
、イベント ハンドラー内からホストを見つけたいということです。
wpf - ListBox ItemContainerGenerator は、リストボックスに項目がある場合でも null を返します
スクロールバーが表示されなくなるまで、いくつかの項目を含むリストボックスがありますが、スクロールバーが表示されると、ItemContainerGenerator は null を返します。
いくつかのブログを読んだところ、スタックパネルの仮想化が原因である可能性があることがわかりました。それを無効にするとうまくいくかもしれませんが、私の場合、リストボックスが重くなりすぎて効率が悪くなります。
リストボックスのコードは次のとおりです。
これは null を返します。
ここで、firstContainer は最初のリストボックス要素である必要があります。itemsControl が正しく、firstContainer が null の場合に項目があることを確認しました。
もう 1 つ注目すべき点は、ItemsControl に 8 つのリストボックス項目があることです。ItemContainerGenerator のステータスは * Container Generated *と表示されます
ItemsContainer Thoughts を返さない理由がわかりません??
wpf - ScrollIntoViewはvirtualstackpannel(特にWPF DataGrid)で同期されていますか?
バインドされたコレクションのデータが更新された後、DataGrid のセルにフォーカスを当てると問題が発生します。たとえば、そのコレクションにフィルターを設定してから、保存された列の保存されたセルに再び焦点を合わせたいとします。
ScrollIntoView への呼び出しが同期されていると考えるのは本当ですか?それは、それを呼び出した後、目的の行とセルが作成され、フォーカスを設定できることを意味しますか? (繰り返しになりますが、 ScrollIntoView を呼び出した後、 Itemsgenerator が作業を終了し、目的のセルを確実に見つけることができると考えているのは本当ですか)
$
wpf - WPF ListView-コントロールがレンダリングされたアイテムを反復処理する準備ができたときのイベント?
ItemsSourceがアイテムViewModelクラスインスタンスのコレクションに設定されたWPFListViewコントロールがあります。ListViewには、カスタムコントロール階層を持つItemTemplateがあります。
ListViewが実際に表示され(まだ表示されていない場合)、すべてのアイテムがレイアウトされている場合(つまり、安全に使用できる場合)に、ItemTemplateを介して生成されたコントロールに対して特定のことを行う必要がありますItemContainerGenerator.ContainerFromItem
。
サブスクライブするItemContainerGenerator.StatusChanged
と、ステータスがに変わってGeneratorStatus.ContainersGenerated
もジェネレーターにアイテムがありません(?!?ところで)。実行時に既存のコントロールでItemsSourceが変更された場合でも、ListViewがアイテムにバインドされている実際のコントロールを反復処理する準備ができたら、どのように通知できますか?
これで、テンプレート内の実際のコントロールのイベントをサブスクライブできることはわかっていますが、すべてのアイテムコントロールがいつ作成されるかを知る必要があります。アイテムのビューモデルでスタフを実行しても、UI関連を実行する必要があるため、役に立ちません。アニメーションなど。
c# - Treeview ContainerFromItem は常に null を返します
この件に関するいくつかのスレッドを読みましたが、私がやろうとしていることをするものは何も見つかりませんでした. オブジェクトの階層セットにバインドされたツリービューがあります。これらの各オブジェクトは、マップ上のアイコンを表します。ユーザーがマップ上のアイコンの 1 つをクリックすると、ツリー ビューでアイテムを選択し、それにフォーカスして、スクロールして表示したいと考えています。マップ オブジェクトには、ツリービューにバインドされているオブジェクトのリストがあります。この例では、Thing はツリーにバインドされたオブジェクトのタイプです。
これまでのところ、何を試しても、コンテナーは常に null です。何か案は?