問題タブ [virtualizingstackpanel]
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.
c# - VirtualizingStackPanel を使用した ListBox の余分なスペース
私は、ItemsPanel が VirtualizingStackPanel に設定された ListBox を使用しています。
問題ないようです: http://i.stack.imgur.com/53KLx.png
しかし、親指をすばやくドラッグして水平スクロールを行うと、奇妙な余分なスペースが表示されます http://i.stack.imgur.com/GHl8k.png
ウィンドウのサイズを変更すると、余分なスペースが魔法のように消えます。それはどこから来たのですか?それを取り除く方法は?
単純な StackPanel を使用すれば問題ありませんが、仮想化を使用する必要があります。
c# - FlipView WP 8.1 の VirtualizingStackPanel の視覚的な欠陥
私のプロジェクトFlipView
では、画像のコレクションを扱っています。パフォーマンスを向上させるために使用してVirtualizingStackPanel
おり、正常に動作していますが、フリップビューでコレクションの最後のアイテムの奇妙な動作に気付きました。最後の項目までスクロールしてから前の項目に戻ると、最後の画像が再描画 (ちらつき) のように一瞬消えることがあります。msdnから変更されたフリップビュー サンプルを次に示します: http://1drv.ms/1d2WGzg。最初のページで自分で試すことができますScenario1_Population
。
このサンプルに追加したコード:
誰もこの問題に直面したことがありますか? アドバイスをいただければ幸いです。
wpf - 仮想化された項目のコントロールを一番下までスクロールします
最初のロード時に仮想化された項目コントロールを一番下までスクロールする方法は?
私はこれを試しましたが、ロード中にスクロールバーがジャンプします。最初は中央の位置にあり、次に下にジャンプします。仮想化された項目コントロールの最後の項目を表示する他の方法があります。
c# - Virtualizingstackpanel がコンボボックスの winrt で選択した値を失う
約 500 個の ListBox 項目を持つ単純な ListBox があります。1 つのアイテムに 2 つのコンボボックスがあります。
私の問題は次のとおりです。下にスクロールすると、すべての SelectedItem バインディング データが失われます。
Virtualizingstackpanel を Stackpanel に置き換えようとしましたが、コンピューターの RAM をすべて消費してしまいます。したがって、Virtualizingstackpanel で動作させる必要があります。
問題は、選択したアイテムをリストボックスアイテムにあるコンボボックスにバインドするにはどうすればよいですか?
コード:
これは、ListBox の ItemTemplate にあります。
c# - WPF - DataGrid で編集モードに入ると、VirtualizingStackPanel はすべての項目を要求します
を使用しDataGrid
ていCellEditingTemplates
ます。データ仮想化コレクションが使用されるためItemsSource
(AlphaChiTech ソリューション)、オンデマンドで一度に 100 アイテムのサイズのページのみをフェッチします。
セルが編集フォームにダブルクリックされ、VirtualizingStackPanel
すべてのアイテムが次々と要求されるまで、うまく機能します。もちろん副作用として、最終的にはすべてのページが要求されます。
この問題を回避する方法はありますか?
編集:
私の状況で人々を助けるかもしれない回避策を見つけました:
最終的に、編集フォームに切り替えた後、行の高さが同じままであるという条件の下で、VirtualizingStackPanel がすべての項目を要求していないことがわかりました。回避策の前は、私の編集フォームはわずかに高かったです。
ここで、編集フォームに切り替えても高さが変わらないように、セル (通常と編集の両方) のコントロールの MinHeight を設定します。
残念ながら、これは特定の条件下でのみ機能します。動作しない場合があります:
を使用して
RowDetailsTemplate
います。見えるようになるとすぐに、仮想化が壊れます。行の詳細は行自体に属していると想定しているため、行の高さが再び増加します。Collection の Reset イベントをそれぞれ CollectionView で発生させます。私の経験では、これは一般的に を使用したデータ仮想化のキラーです
DataGrids
。コレクションの値を下げ
Count
ます (これも、Reset イベントを問題なくスローします)。
Count
コレクションのを増やすことが効果的だったのは興味深いことです。Count
しかし、すぐに使用できる Reset イベントを発生させずに を変更する方法がないため (少なくとも私は見つけられませんでした)、AlphaChiTech の機能を強化する必要がありました (幸い、ソースは github にあります)。また、DataGrid's
アイテムはその後すぐに更新する必要がありますItemsControl
。そうしないと、 とコレクションが矛盾した状態にあることを示す例外がスローされます。
行の詳細はオプションですが、データ仮想化を壊さずにアイテムを削除することは非常に重要です。したがって、問題はまだ残っています。私の回避策は、固定サイズのコレクションを持つ人々に役立つ可能性が最も高いですが、残念ながら私には役に立ちません。