問題タブ [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.
wpf - Complex controls in a Popup
I am building a control allowing to manage some items and select one.
It comprises a TextBox
and a Button
allowing to open a Popup
where it all happens.
I would like to have a list of items with details in a System.Windows.Controls.Primitives.Popup
class. I am using a Grid
with 2 columns, the first one contains the list of items, the second one its details.
Now I want to use a System.Windows.Controls.GridSplitter
control to allow the user to resize the area of details.
The problem is that this works everywhere except of inside a Popup
control.
My question is, should I use some other control simulating Popup
's behavior (Window
..) or is there any other way to achieve this.
EDITED: If I set Width Property of the Popup it works, because the Popup is not trying to adapt to its content. But I want to preserve this behaviour..
What I'm planning is to add complex animations to the controls in the Popup
as well.
CODE:
MyManagementControl contains:
wpf - サイズ変更可能なエキスパンダーを配置して、右から左に展開します
私にとって完璧な解決策である以下の質問からのエキスパンダー(受け入れられた答えを参照)が欲しいです。右側に置きたいだけです。
エキスパンダーとグリッドを組み合わせる(サイズ変更可能なエキスパンダー)
右から左に拡張するために、類似した動作の設定を変更しました。(私は何が起こっているのかをよりよく見るために要素を強調しました):
スプリッターを右に移動すると、スプリッターの左側の領域のサイズが変更されます。他の多くの組み合わせを試しましたが、ほとんど同じ望ましくない動作が発生しました。スプリッターの左側の領域が奇妙に爆発することがありますが、TextBoxは変更されません。
wpf - 要素数が動的な Grid での GridSplitter の使用
グリッドに動的な数の要素があり、視覚化にテンプレートを使用しています。
ここで、ListView の各項目に GridSplitter を使用したいと考えています。ItemsPanelTemplate は 1 つの VisualTree しか想定していないため、私が試したものはすべて機能しません (そのため、StackPanel の下に Gridsplitter を配置することはできません)。
これを別の方法で行う可能性はありますか?おそらくコードビハインドファイルからですか?動的な数の要素があり、それらの間である種のスプリッターを使用したいという主な問題を解決する必要があります。
背景情報: 再帰呼び出しのため、テンプレートを使用する必要があります。元のコードでは、最初のグリッドの後に別の ListView があります。
c# - WPF デスクトップ アプリケーションのレイアウトのジレンマ
初めての実際の WPF デスクトップ アプリケーションを開発したいと考えています。.NET 2.0 と Windows Forms で開発された前回のデスクトップ アプリケーションからかなりの時間が経ちました。新しいデスクトップ アプリケーションを開発する必要があり、.NET 4.0 を利用できるので、WPF を使用したいと思っています。
オンラインのチュートリアルとドキュメントを読んで正しい方法を選択していますが、新しいコントロールに少し戸惑っています。
基本的に、データグリッドの上にいくつかのテキストボックスとラベルを表示するパネルが必要です。gridpanel コントロールでそのような結果を達成できると思いますか? ありがとうございました。
wpf - GridSplitter を使用したエキスパンダー
エキスパンダー (wpf ウィンドウの右側に存在する) の前にグリッド スプリッターがあり、アプリを実行していたときに、拡張後にエキスパンダーからより多くのデータを表示するためにグリッド スプリッターを使用する必要がありますが、問題は次の場合です。元の幅に関係なくエキスパンダーの完全なビューを取得していますが、エキスパンダーをクリックして折りたたんだ後、スプリッターのドラッグされた幅を維持することで元の位置に移動しません。エキスパンダーを元の位置に戻す方法を教えてください。
@nagaraju さん、ありがとうございます。
wpf - アニメーションをグリッド列に適用した後、GridSplitter が機能しない
私はwpfの初心者です。今日、グリッド列にアニメーションを追加するとグリッドスプリッターが機能しなくなるという奇妙な問題に遭遇しました。以下はコードスニペットです。これは無意味ですが、非常に単純なテストコードです。マウスが右の列に入ると、その幅が 15 から 100 に拡大します
この:
これが GridLengthAnimation です。グリッド列の幅に対して DoubleAnimation を使用できないことがわかった後、インターネットから取得します。
MouseEnter イベント ハンドラーのコードをコメント アウトすると、スプリッターは正常に動作しますが、そうでない場合は動作を停止します。何か案は?
wpf - サイズ変更可能なWPFリストボックス/ItemsControlアイテム
WPFリストボックス(またはItemsControl)にGridSplitterのような機能が必要です。次のコードは機能しませんが、私が達成したいことを示しています。
誰かがこれを実装する方法についてアイデアを持っていますか?
wpf - GridSplitterの動きが非常に遅い
この問題があります。このウィンドウをインスタンス化した後、右側にあるネストされたすべてのエキスパンダーを開きます。(7つあります)。最後のものにはいくつかの要素が含まれています。(TextBoxes)GridSplitterをドラッグしてみてください。すべてが順調で、流暢に機能しています。しかし!TextBoxの1つをクリックすると(どちらでも)、ドラッグが非常に遅くなります(マウスをドロップした後、3秒以上かかることもあります)。テキストボックスをクリックすると、次のデバッグメッセージが出力に表示されます。
この後、非常識なゆっくりとしたドラッグが行われます。一時停止して次の手順に進むと、デバッグウィンドウに次のメッセージが表示されます。
等...
これがコードです:(品質を判断しないでください、それは単なるテストです、お願いします)
wpf - GridSplitter:GridSplitterに直接隣接していないセルをスケーリングします
1つのGridSplitterのみを含む4つの列を持つWPFグリッドがあります。2つの列(0と3)はスケーラブルですが、1つのスケーラブルな列はGridSplitter(列2)に直接隣接していません。
列0と3は、同じ初期サイズである必要があります。したがって、ネストされたグリッドに列0と1を配置することはできません。
どうすればこれを解決できますか?
編集:nickolay.laptevの助けを借りてそれを解決しました
wpf - WPFスタイルで異なるタイプのコントロールをターゲットにする方法は?
GridSplitter
横型と縦型で違う背景を設定したいです。これは、線形グラデーションがあり、グリッド スプリッターの配置に応じて 90 度回転させる必要があるためです。
問題は、垂直スプリッターと水平スプリッターを別々にターゲットにするにはどうすればよいかということです。