問題タブ [wrappanel]

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

wpf - WPF:ラップパネルを再レイアウトする方法は?

WrapPanelグリッドに配置し、動的に で埋めますToggleButtons
が配置されている行の高さは、コンポーネント内のwrappanelの数に基づいて計算されます。ToggleButtonsWrapPanel

画面をロードすると、アイテムがwrappanel正しくレイアウトされません。ただし、フォームのサイズを変更すると、アイテムが正しく表示されます。

フォームのサイズを変更するときのように、アイテムを強制的に再レイアウトする方法はありますか?

以下に、私の WPF コードを示します。

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

c# - WPF:大量の大きな画像をラップパネルにすばやく読み込むにはどうすればよいですか?

約45個のかなり大きな画像(約680x1000)があり、単純なユーザーコントロール(塗りつぶし、画像、テキストブロック、および2つの側面の長方形を含む丸みを帯びたバックボーダー)に読み込んでから、ラップパネルに表示する必要があります。画像はプログラムのロード時にすべて表示されるため、仮想化はここではあまり役に立ちません。

BitmapImage initの内部で、decodepixel幅を設定できることはわかっていますが、これは少し役立ちますが、品質を損なうことなくスライダーで画像のサイズを変更できるようにしたいので、すべてをフルサイズでロードするのが好きです(この部分は高速に動作します)ほとんどの場合)。1つの可能性は、decodewidthを、表示可能な最大サイズが役立つ可能性があるために設定した数値に設定することです。

バックグラウンドで画像をロードするにはどうすればよいですか?にあるマルチスレッドアプローチを試しました。(最初の答え)しかし、それはプログラムがロードするのにかなり長い時間がかかる原因になりました!

何か案は?

現在のロードコード:

サンプルXAMLコード:

アップデート:

さて、私は単一のバックグラウンドワーカーで画像の読み込みループを実行することで応答性を高めることになりました。各画像が読み込まれると、Dispacher.Invokeが呼び出されてラップアイテムが作成されます。しばらく遊んだ後、以前と同じ時間に作成された各アイテムを表示するようになりました。

0 投票する
4 に答える
7592 参照

wpf - WPF: ItemsPanelTemplate の WrapPanel はリストの幅を拡張します

次のように定義されたリストボックスがあります。

私の問題は次のとおりです。このリストはグリッド コントロールに含まれており、含まれているセルの使用可能なすべてのスペースを使用する必要がありますが、親にさらにスペースを割り当てるように強制するべきではありません。しかし、ラップ パネルがいっぱいになると、アイテムを実際に次の行にラップするのではなく (そうあるべきです)、リスト ボックスの幅を拡張するだけで、その過程で親グリッドのサイズも強制的に変更されます。

親のサイズを尊重し、サイズを強制的に拡大しないようにラップ パネルを取得するにはどうすればよいですか?

前もって感謝します!

編集:もう1つ。wrappanel の幅を明示的に設定して折り返すことができますが、wrappanel をリストボックスと同じサイズにしたいと考えています。

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

c# - Wrappanel と scrollviewer の問題

Buttonsユーザーがコントロールを追加するために使用できるを表示する必要があります。Buttonsグループに分類されます。これが私が持っているXAMLです-

の両方と個々の横の のScrollBar両方に共通の縦型が必要です。この XAML スクロールバーが正しく表示されず、ラッピングが「無効」になり、コントロールが 1 つ(または) のままになり、すぐに が使用されます。WrapPanelScrollBarScrollViewerrowcolumnScrollBar

このコントロールは(VS ツールボックスと同様に) に表示され、ユーザーはそれを変更できるため、 に固定widhtを与えることはできません。WrapPanelDockPanel

何か案は?

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

wpf - WPF WrapPanel を使用してテキストを折り返して右揃えにする - WPF バグ?

WrapPanel と 2 つの TextBlocks を使用して、テキストの左側にアスタリスク (*) を追加し、テキストの折り返しを許可し、テキストを強制的に右揃えにしようとしています。FlowDirection を RightToLeft に設定して WrapPanel を作成し、テキストの後にアスタリスクを追加することで、成功しました。ただし、使用するテキストの行末に英数字以外の文字が含まれていると、不可解にも行の先頭に強制されます。この振る舞いは非常に奇妙だと思います。これは WPF のバグであり、意図した動作ではないと思います。

Text = Normal Text (Other Text) の例:

次のサンプル コードを使用して、問題を再現してください。高さと幅が 100 のウィンドウにこれを配置し、TextBox に「通常のテキスト (その他のテキスト)」と入力します。または、高さと幅を好きなように設定し、テキストを折り返すのに十分なテキストを書き、最後に句読点を追加します。

サンプルコード:

それで、私の質問です。

  • これはバグですか、それとも意図したものですか?
  • これがバグである場合、何らかの方法で Microsoft に提出する必要がありますか? どのように?

この投稿を開始して以来、代わりに 2 つの TextBlocks を 2 列のグリッドに配置することにしました。アスタリスクを含まない TextBlock を Right TextAlignment を使用するように構成すると、とにかくすべての要件を満たします。それでも、これは興味深い問題だと思いました。

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

c# - タブストップ付きのWPF WrapPanel?

ラップ パネル (他の多くのユーザー コントロール) をタブ ストップにすることに興味があります。パネルはスクロール ビューア内にあり、スクロール ビューアには IsTabStop プロパティがありますが、スクロール ビューアにはありません。ユーザーがタブ キーを使用して、ラップ ペーパー内にあるユーザー コントロールの 1 つをナビゲートできるようにしたいと考えています。

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

wpf - WPFラップパネルで動的なサイズのアイテムがジャンプするのを防ぐ

長方形でいっぱいのラップパネルがあります。長方形の上にマウスを置くと、拡大されることをシミュレートするためにサイズが大きくなります(ストーリーボードアニメーションを使用)。

それはすべて正常に機能しますが、問題は、行の最後の長方形の上にマウスを置くと、倍率によって次の行にジャンプすることです(現在の行に収まらないほど大きくなったため)。このシナリオを防ぐための洗練された解決策があると確信していますが、私には理解できません。どんな助けでも大歓迎です。

すべてを実行するXAMLは次のとおりです。

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

.net - WPF で利用できる (良い/無料の) VirtualizingWrapPanel はありますか?

このCodePlexプロジェクトこの商用プロジェクトの2つの代替案を見つけましたが、前者は私のテストでは非常に非効率的で、後者は費用がかかります。この実装も見つけましたが、「TilePanel」ほどの WrapPanel ではなく、自動的にサイズ変更される項目をサポートしていません (高速に見えますが)。

また、自分で作成する方法に関するいくつかの「ヒント」をここで見つけましたが、開発者が会社の時間に開発したため、完全なソースを投稿できませんでした。

まともな VirtualizingWrapPanel を実装して公開するために時間をかけた人はいますか? それとも、1 日かけて自分で作成する必要がありますか?

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

wpf - WPF ラップ パネルに改行/改行を追加する

WPF Wrap パネルに改行を入力することさえ可能かどうかは誰にもわかりませんか? ラップパネルの目的に反するので、それが可能かどうかはわかりません。

そうでない場合は、実際に改行を入力でき、子の追加をサポートする他の WPF コントロールはありますか (自分のカスタム コントロール?)

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

wpf - WPF-WrapPanelの仮想化

WPFアプリケーションで使用できる仮想化WrapPanelが機能している人はいますか?

http://virtualwrappanel.codeplex.com/で実装をダウンロードして試しました。ただし、次の例外が発生します。

「要素'MyNamespace.VirtualizingWrapPanel'のレイアウト測定オーバ​​ーライドは、Infinityが使用可能なサイズとして渡された場合でも、DesiredSizeとしてPositiveInfinityを返さないようにする必要があります。」

これは、ラップパネルをリストボックスに適用しようとするときです