問題タブ [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 投票する
0 に答える
418 参照

wpf - GridSplitterを介して拡張サイズを制御できるExpanderを作成するにはどうすればよいですか?

重複の可能性:
WFPはエキスパンダーとグリッドを組み合わせます(サイズ変更可能なエキスパンダー)

この質問に対する簡単な答えがあると確信していますが、私はそれを見ていません。

Grid3つの列を含むをレイアウトしています。最初のには、が含まれてExpanderExpandDirectionますRight。2番目はGridSplitterです。3番目はたくさんのものが含まれていDockPanelます。

目標は、Expanderが折りたたまれているときに、グリッド列がそのヘッダーの幅になることです。展開すると、ユーザーはをドラッグして展開領域の幅を変更できるようになりますGridSplitter

私はこれを行う正しい方法を理解することができません。ドラッグするGridSplitterと列の幅が変更されます。列の幅は変更したくないので、エキスパンダーの最大幅を変更します。ドラッグすることで変更できる最大幅のエキスパンダーを実装する方法を理解することはできませんが、少なくとも、大量のコードを記述しなければなりません。

何か案が?これはストレートXAMLでも実行できますか?それは盲目的に明白ですか?

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

xaml - フレーム内の GridSplitter。国境を越えて広がる問題

Silverlight RIA アプリケーションでデータを表示するための汎用ビューがあります。基本的に、ビューは RIA がデータを取得するために必要なクエリであるパラメーターを受け取り、データは自動生成されたフィールドを使用して表示されます。

ビューの XAML コードの一部を次に示します。

ビューが単数形で表示されている場合はFrame、すべて問題ありません。しかし、フレームが 2 つあるページに表示されると、奇妙なことが起こり始めます。ユーザーがスプリッターをつかみ、フレームの境界を超えて一番上まで移動すると、 はDataForm際限なく拡大します。これは大きな問題ではありませんが、見栄えが悪く、下部のボタンが見えなくなります。

何が起きてる?なぜこうなった?どうすればこの動作を防ぐことができますか?

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

wpf - WPF / SLグリッドとGridSplitterをバインド可能なSplitContainerとしてどのように使用しますか?

ユーザーが2つの列を含むWPF/SLグリッドのサイズを変更できるようにしたいとします。ただし、ユーザーが1つの列(「パネル」)または他の列を非表示にできるようにする必要もあります。両方の列(パネル)が表示されている場合は、GridSplitterも表示されている必要があります。そうでなければそうではありません。また、コードビハインドなしでMVVMスタイルのバインディングを使用する必要があります。また、セッション間で設定を保持したい場合もあります。ビューモデルには次のプロパティがあります。

bool IsPanelOneVisible

bool IsPanelTwoVisible

GridLength SplitPosition

では、バインディングのみを使用してこれを配線するにはどうすればよいですか?

ユーザーがGridSplitterをドラッグすると、グリッド列の幅(バインディングまたは自動のいずれかで設定)が上書きされることに注意してください。

私が熟読した投稿(SplitContainerの実装もいくつか含まれています)は、このシナリオに正面から取り組んでいません。コードビハインド(イベントに応答)またはビューモデルの追加プロパティを使用して、これを接続できます。しかし、私はもっとエレガントな解決策を望んでいました。

何か案は?ありがとう!

0 投票する
3 に答える
2340 参照

wpf - WPFスプリッターの可視性

上記のxamlでは、ViewModelの条件に基づいて、最初のコンテンツコントロールとスプリッターの可視性を設定しています。しかし、実行中にスプリッターのサイズを変更すると、最後のコンテンツコントロールの前に空のスペースが表示されます。最初のコンテンツコントロールとスプリッターを折りたたみに設定したときに、コンテンツコントロールが完全な領域を占める必要がありますか?

ヘルプに感謝します。

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

c# - GridSplitterがSilverlight4でフォーカスされているときにスタイルを変更する方法

Silverlight4ページがあります。

このページには、3列の単一グリッドが含まれています。真ん中の列に、GridSplitterを配置しました。

デフォルトでは青色です。Foregroundプロパティを使用して色を設定できます。ただし、グリッドスプリッターをドラッグ(フォーカス)すると、外観が別の色(青みがかった色)に変わります。

スプリッターがフォーカスされているときに適用されるグリッドスプリッターのスタイルと、フォーカスされていないときに適用される別のスタイルを定義したいと思います。

VisualStateマネージャーの設定について読んだことがありますが、このシナリオでの使用方法がわかりません。トリガーを使用することを考えましたが、SLはWPFのようにトリガーをサポートしていないようです。

フォーカス状態に応じてスタイルを変更するにはどうすればよいですか?

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

grid - gridsplitter を使用してグリッドの列定義をリセットしますか?

2 つの列と中央にグリッドスプリッターがあるグリッドがあります。したがって、ユーザーはグリッドの独自の分割を使用できます。ここで、グリッドをリセットして開始する方法を検索します (両方の列が同じ幅です)。

私が持っている Gridsplitter を使用しないソリューション: 列の Width-Property はスタイルであり、これらはボタンと InteractionTrigger で切り替え可能です。ただし、グリッドスプリッターが移動されている場合、この方法は機能しません。

グリットスプリッターはグリッド内で正確に何をしますか?

どうもありがとう。

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

wpf - ListBox コントロールで gridsplitter のシームレスなスクロールを維持する方法

そのデータ テンプレートに with がありますListBoxGridGrid私はSplitterコントロールを持っています。問題は次のとおりです。リスト ボックスのアイテム ソースをバインドすると、内部で複数のグリッドが生成され、それらのグリッドのためにスプリッター コントロールが機能しません。予期せぬ動作をしています。つまり、スプリッター コントロールを左側に移動するとスムーズに移動しますが、別の行から移動しようとすると元に戻りません。この件について私を助けてください。

その他のリファレンスについては、サンプル コードを参照してください。

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

c# - GridSplitter はキーボードを使用すると正常に動作しますが、マウスを使用すると跳ね返ります

GridSplitters をマウスでドラッグすると、グリッド内の一部のスプリッターは正常に動作しますが、他のスプリッターは新しい位置にドロップする前に元の位置に戻ります。何度も試してみて、少しドラッグしてマウスボタンをすばやく放すと、ブロックが解除されることがありますが、ほとんどの場合、そうではありません。ときどき - ドラッグすると、すべてランダムに新しい位置にジャンプします。

スプリッターをクリックしてキーボードを使用するだけで、これらすべてが問題なく動作します。

使用されているスプリッターの数に関連しているようです。スプリッターが少ないほど発生しません。

多くの列で動作させるにはどうすればよいですか? 私のアプリケーションには、スクロール可能なグリッドに多数の列があります。スプリッタへのマウス入力をキャプチャしようとしましたが、うまくいきませんでした。

別の質問と同様の問題のようですが、回答がなく、詳細を追加したと思います。

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

wpf - GridSplitter を使用して WPF グリッドの列幅を取得するにはどうすればよいですか?

ユーザーに 2 つのリストボックス (ウィンドウの両側に 1 つずつ) を表示し、それぞれに割り当てる画面スペースをユーザーが選択できるようにする必要があります。私は次のコードでそれを達成しました:

ただし、バインディングは最初の列の初期幅を取得し、それに応じて両方のサイズを変更しますが、GridSplitter を使用してサイズを変更すると、バインディングが新しい値に置き換えられるだけです。新しい値を取得して永続化するにはどうすればよいですか?

理想的には、ソリューションは MVVM でうまく機能する必要があります。私は Caliburn を使用しており、コードをできるだけきれいに保とうとしています (私のビュー モデルには、現在バインドされている FirstColumnWidth プロパティが含まれています)。

0 投票する
3 に答える
3010 参照

wpf - GridSplitter は ColumnDefinition のスタイル トリガーをオーバーライドしますか?

奇妙な問題が発生しました...
GridSplitter を使用してグリッドの列のサイズを変更すると、グリッドの列で定義されたトリガーが無効 (または非アクティブ化) になるようです。

これが私のセットアップです:

グリッドには、次のように定義された 3 つの列があります。

3 番目の列のコントロールの ItemsSource を構成する項目がない場合、2 番目と 3 番目の列 (それぞれ GridSplitter と補助項目コントロールをホストする) に幅 0 が割り当てられることが予想されます。

これは、スプリッターに触れない限りうまく機能します (補助コントロールのすべてのタブを閉じると、最初の列だけが表示されたままになります)。
スプリッターを移動すると問題が発生し、列 ##0 と 2 の間の比率が効果的に変化します。このようなシナリオでは、右側のコントロールのすべての項目が閉じられても、これらの列の幅はリセットされません。

これは、GridSplitter が XAML での定義を「覆す」ことに関係していると思われます。

誰かがこの理論を確認/反証し、問題を回避する方法を提案できますか?