問題タブ [sharedsizegroup]

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 投票する
1 に答える
2429 参照

wpf - ItemsControl のアイテムのグリッド間で列幅を共有する

フォーム内のオブジェクトを表示および編集するためのコントロールを作成しています。コントロール ( FormDataView) は、ItemsControl各項目が で構成されるFormFieldコントロールGridで、左側の列にフィールド名、右側の列にエディター (TextBox など) が表示されます。エディターを揃えるために、それぞれの最初の列がGrid同じ幅になるようにします。

だから私はIsSharedSizeScopeandを使用しようとしましSharedSizeGroupたが、うまくいきません。最初の列はそれぞれで幅が異なりますFormField

これらのコントロールのスタイルは次のとおりです。

が のテンプレートで設定されているのに対し、は でどのようGrid.IsSharedSizeScopeに設定されているかに注目してください。これは、私がやりたいことを正しく表現しています。それぞれが最初の列に同じ幅を使用する必要があります。ただし、プロパティのドキュメントによると、このシナリオはサポートされていません。ItemsPanelFormDataViewSharedSizeGroupFormFieldFormFieldSharedSizeGroup

リソース テンプレート内で IsSharedSizeScope を true に設定し、SharedSizeGroup をそのテンプレートの外部として定義すると、グリッド サイズ共有は機能しません。

わかりました。なぜうまくいかないのか理解できます...しかし、この制限を回避する方法がわかりません。

何か案が?

NB:もちろん、最初の列に固定幅を割り当てたくありません...

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

wpf - Grid SharedSizeGroup - 列が跳ね返り、無限ループでサイズ変更されます

水平ヘッダーと垂直ヘッダーの両方を持つテーブルが必要です (単純な PivotGrid)。ここでいくつかの同様の(またはほぼ同じ)問題を見つけましたが、誰も解決策を提供しません。XAML では、次の構造を定義しました。

したがって、両方のヘッダーはいくつかの ColumnDefinitions (それぞれ RowDefinitions) を持つグリッドで構成されており、Content-ColumnDefinitions に従って Header-ColumnDefinitions のサイズを設定する必要があります。私はコードでそれを行います:

したがって、Header-Column はその Width を Content-Column と共有する必要があります。しかし、プログラムを実行すると、列が跳ね返り、無限ループでサイズ変更されます。行の高さの共有は正常に機能します。どこに問題があるのでしょうか?

ヘッダー (grdHorizo​​ntalHeader) のEDIT列のみがサイズ変更されます。grdContent の列の幅が正しく安定しています。

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

wpf - ItemsControl 内の ListViews に相当する SharedSizeGroup はありますか?

国を表す ItemsControl を使用します。国ごとに、都市を表示するために ListView を使用します。

結果:

ここに画像の説明を入力

ユーザーが最初のリストビューで列幅を変更するたびに、2番目のリストビューがそれに応じて幅を調整する必要があります(グリッドのSharedGroupSizeのようなもの)。

どうすればこれを達成できますか?

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

wpf - GridSplitter がスタックする

複数回ドラッグした後 (最初は正常に動作しているように見えますが、ドラッグするたびにマウス ボタンを離す必要があります)、グリッド スプリッターが動かなくなってドラッグできなくなったり、場合によってはドラッグできないという問題があります。数インチドラッグするだけで、再びスタックします。

私が使用しているコードは実際には ItemTemplate にありますが、問題を示すために、以下の問題コードを抽出しました。

(グリッド要素をコピーして貼り付けて、スタックパネルにいくつかあるようにします。少なくとも 10 個のグリッドがあると、グリッドスプリッターがより速くスタックすることがわかりました)。

したがって、上記のように、複数回サイズ変更を試みると (各ドラッグの間にマウス ボタンを離す)、5 ~ 10 回のサイズ変更の後、少なくとも私にとっては、スプリッターが動かなくなったように見えます。

また、左にドラッグしようとすると動かなくなるようです。

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

wpf - SharedSizeGroup AND ストレッチを使用した ItemsControl

どうやら、SharedSizeGroup を使用する場合、スター サイズ (*) は使用できません。これはここで議論されています: グリッドの SharedSizeGroup と * sizing

残念ながら、その議論では、問題に対する実行可能な解決策を実際には提供していません。

次のレイアウトで、行ごとに 1 つのコントロールのリストを表示したいと思います。

(名前)(入力欄)(×ボタン)

次のようになります。

しかし、代わりに私は得ています

列 1 は、最も長い単語と同じ幅にする必要があります。列 2 のエントリ テキスト ボックスは、残りのスペース (*) をすべて埋めるために拡大する必要がありますが、前述のように SharedSizeGroup では機能しません。* は Auto として扱われているため、非ストレッチです。

何か案は?XAML は次のとおりです。

0 投票する
0 に答える
291 参照

c# - WPF および C# でのプログラムによる SharedSizeGroup の設定、削除、またはオーバーライド

XAML を使用して SharedSizeGroup を WPF のグリッドの 2 列に設定しましたが、C# のコードを使用してそのプロパティを削除および再設定またはオーバーライドする方法があるかどうかを知りたいですか?

作成時にこのプロパティを列/行に適用するためのコードは既に知っていますが、新しい列/行を作成または削除したくありません。既存のプロパティを編集するだけです。

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

wpf - WPF:SharedSizeScopeが期待どおりに機能しないのはなぜですか?

セルが結合されたデータグリッドのようなビューを作成しようとしています。ShareSizeScopeヘッダー行と残りの行の間にできないことを除いて、すべて問題ありません。下のスクリーンショットを見ると、最初の列を除いて列が整列していません。前もって感謝します。
ここに画像の説明を入力

私のXAML:

0 投票する
0 に答える
120 参照

c# - ListBox スクロールバーが Grid.IsSharedSizeScope との同期列を壊す

を使用してヘッダー付きのテーブルを表示する必要がありますListBox

これを作成する方法についてWebで検索したところ、この回答が見つかりました。作成したXAMLコードは次のとおりです。

そして、これが私が作成したc#コードですListBox

は 4 行のみを表示するためListBox、スクロールバーを設定する必要はなく、ヘッダーはテーブルの列とほぼ 100% 整列しています。

ここに画像の説明を入力

に行を追加するListBoxと、問題が悪化し、スクロールバーが表示されます。

ここに画像の説明を入力

ヘッダーが大きすぎる各列のオフセットを見ることができます。Grid.IsSharedSizeScopeスクロールバーの幅を認識し、ヘッダーの幅と見なすようにするにはどうすればよいですか? 私が必要とするのは、テーブルの列をテーブルのヘッダーと 100% 揃えることです。