問題タブ [gridsplitter]

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

c# - GridSplitter オートサイズ

問題が発生しましたGridSplitter

簡単なコード例:

これにより、 で垂直方向に区切られた 2 つのグリッドが作成されますGridSplitter

私が達成したいのはGridSplitter、グリッドのコンテンツに自動的に整列することです。たとえば、下のグリッドに折りたたみ可能な要素がある場合、要素を折りたたむと上のグリッドが大きくなるようにします。広げたら上Gridが小さくなるはず。

どうすればいいですか?後で私はGrids3 つGridSplitterの ´ を持つ 4 を持ちます... したがって、ソリューションは複数GridSplitterの ´ でも同様に機能するはずです。

[編集]:

私のxaml:

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

wpf - Gridsplitter prevents grid columns to be resized

I'm trying to hide first 2 columns of a Grid when a Button is clicked. My Grid layout has 3 columns, one with a grid, the second with a grid splitter and the third one with another Grid which has the Button.

When I run my program with the below code, it collapses the first 2 columns on click of the Button properly as expected and resizes the third grid, however the moment I resize the grid using the splitter, this does not work anymore. It hides the columns, however the third column is not resized to fill the Window. I want the first 2 columns to be collapsed and the third column to fill the whole area of the window(which happens if I do not resize using the splitter).

The xaml is as below:

and the Button.click event is handled as below:

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

wpf - scrollviewerおよびminWidthと組み合わせた場合、gridsplitterが期待どおりに動作しない

  • 背景コンテナとしてグリッドがあります
  • このグリッドにはscrollviewerが含まれているため、ウィンドウを上にサイズ変更するとコンテンツも一緒に拡張されますが、ウィンドウを下にサイズ変更すると、svのコンテンツのminWidthに到達するとスクロールバーがscrollviewerに表示されます
  • このscrollviewerには、2列のグリッドが含まれています
  • このグリッドには、各列に1つのscrollviewerが含まれ、各列にはグリッドが含まれます。
  • 最初の列にグリッドスプリッターがあるので、列のサイズを変更できます

免責事項:これはこのレイアウトを整理するための最適な方法ではないことはわかっていますが、これは実際には、はるかに複雑なレイアウトで発生した問題を再現するために見つけた最も単純な表現であるため、レイヤーを再編成するソリューションを提供しないでください

これがxamlです:

目標は次のとおりです。-ウィンドウのサイズを上に変更すると、すべてが拡大縮小されます-サイズを下に変更すると、minWidthに到達すると、最上部のスクロールビューアのスクロールバーが表示され、コンテンツの縮小が停止します。(この部分は正常に機能します)-一番上のscrollviewerのサイズに関係なく、gridsplitterを使用して両方の列のサイズを変更できます-1つの列の最小幅に達すると、この列のscrollviewerにスクロールバーが表示され、そのコンテンツの縮小が停止します

問題:この2番目の部分は決して起こりません。2つの子グリッドのminWidthのいずれかに到達するまでサイズを変更できます。その後、gridsplitterの移動が停止し、それ以上縮小できず、スクロールバーが表示されません。

一番上のグリッドとそれに関連するscrollviewerを削除すると、期待どおりに機能することに気付きました。

内側のグリッドをスクロールビューアーに配置したことで、グリッドスプリッターと内側のスクロールビューアーの動作が変わる理由がわかりません。解決策を知っている人は誰でも、喜んでいます。

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

wpf - リストボックスで GridSplitter をスワイパーとして使用する

ウィンドウいっぱいにコンテンツが引き伸ばされた がありListBox、その中に 2 つの列 ( を含む 3 つ) を持つグリッドがありますGridSplitter

GridSplitterスワイパーのように使用して、どちらかの列をいくらでも非表示/表示できるようにしたいだけです。つまり、100% 左側、それぞれ 50%、または 100% 右側などです。

私は私の人生のためにそれをさせることはできません。両側の要素には、希望する独自のサイズがあり、素朴な*アプローチでは、 をそのサイズより小さくすることはできませんGridSplitter。固定の列サイズを使用すると、目的のサイズよりも小さく縮小できますが、 のサイズを変更するとGridSplitter、 の端の幅を超えてしまい、コンテンツが伸びなくなります。WindowWindow

私の問題を最もよく説明するXamlPadドキュメントは次のとおりです。

最も奇妙なことに、ListBox を持っていない場合、この問題は発生しません。その後、私が望むとおりに機能します。

とにかく、助けてくれてありがとう、それはすべて大歓迎です-これは私を夢中にさせています:)

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

wpf - 親ウィンドウのサイズを変更するときの WPF GridSplitter の動作

次のように GridSplittler XAML を定義しました。

これにより、間にグリッド スプリッターがある 2 つの列が作成され、グリッド スプリッターが左右にドラッグされると、列のサイズが正しく変更されます。ウィンドウ全体のサイズを変更する場合、左の赤い列の幅を固定したままにし、右の緑の列の幅を変更します (ウィンドウのサイズが変更されるため)。Visual Studio アプリケーション全体のサイズを変更し、ソリューション エクスプローラーの幅は固定されたままですが、コード タブの幅が変更された場合と同じ効果があります。また、SQL Server Management Studio と同じです。オブジェクト エクスプローラーの幅は固定のままですが、SQL タブの幅が変わります。これら 2 つの例では、より複雑なドッキング コントロールを使用していることに気付きましたが、WPF GridSplitter を使用して同じ結果を得たいと考えていました。

編集:マシューの提案に基づいて、必要なのは最初の列定義に初期幅を与えることだけでした(以下に200を使用して表示)。

ウィンドウのサイズを変更すると、緑の境界線の幅のみが変更され、赤の境界線の幅は固定されたままになります。ありがとう!

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

wpf - GridSplitter を移動した後、レイアウトが正しく機能しません

私の目的は次のとおりです。 でTabItem名前付きの「タブ」をダブルTabControlクリックするTabControlと、折りたたまれ、別のダブルクリックで展開されます。しかし、 を移動して「タブ」をダブルクリックして折りたたむと、列の高さが の高さと等しくない、つまり従わないことGridSplitterが正しく機能しません。 「TabControl」TabControlTabControlGridSplitter

ここに画像の説明を入力

.xaml

.cs

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

c# - Gridsplitter: 行の高さをウィンドウ サイズに制限する

グリッドスプリッターの実験を始めたばかりで、非常に奇妙な動作に出くわし、修正できないようです。どうやら他の人にも同様の問題があります (Google によると) が、役立つコメントはありませんでした。

2行のグリッドがあります。起動すると、一番下Hightの行は 250 です。一番上の行は で残りを取ります*。スプリッターで行のサイズを変更すると、一番上の行の動作が期待どおりになります。しかし、スプリッターを上にドラッグしてプログラム ウィンドウを通過すると、一番下の行のコンテンツがウィンドウから外れます (= 消えるまで下に移動します)。各行を親コンテナーよりも大きくすることはできないと思います。

これは私のコードです。両方の行のコンテンツは再びグリッドでホストされており、わかりやすくするために削除されています。繰り返しますが、一番上の行のサイズ変更は正常に機能します。ただし、一番下の行は無限大にサイズ変更できます。をハードコーディングすると、期待どおりに動作しますMaxHeight。ただし、それはウィンドウのサイズに依存する必要があります。

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

c# - WPF の 3 列グリッド内でグリッド スプリッターを希望どおりに動作させることができません

WPF といくつかのサードパーティ コントロール (Telerik) を使用した次のグリッドがあります。

現在、ウィンドウのサイズ変更中に列0(左側)のグリッドのサイズが変更されないようにしようとしています。列「0」の幅を静的な 150 または自動に設定することで、この効果を得ることができました。ただし、これを行うと、グリッド スプリッターは列 2 の最小幅を尊重しなくなり、画面からドラッグできるようになりました。列 0 と 2 の両方をスターの幅に設定することで (コードで現在使用している方法で)、最小幅が尊重されます (列は定義された 150 と 80 を超えて縮小できません) が、サイズは変更されません。 (左側の列は右側の列に比例してサイズ変更されます)。サイズ変更とグリッドスプリッターの両方を同時に機能させたいと思います。説明が不十分だった場合や、さらに情報が必要な場合はお知らせください。