問題タブ [wpfdatagrid]
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 - WPF DataGrid の列幅と並べ替え
次のように定義された DataGrid があります
ロード時に見栄えがします。最初の列は、コンテンツとヘッダーの両方を収めるのに必要な最小幅に収まります。2 番目の列は、DataGrid の残りの幅を埋めるために伸びます (したがって、3 番目のフィラー列はありません)。しかし、列を並べ替えようとすると、AccountName 列のサイズを並べ替え前の幅よりも小さくすることはできません。そのため、ColumnReordered イベントにハンドラーを追加して、列幅をリセットできると考えましたが、機能していないようです。実際、AccountId 列はほとんど縮小されず、AccountName 列のサイズを小さくすることはできません。
列の幅を処理するより良い方法はありますか? また、列の並べ替えによって列のサイズ変更機能が損なわれるのはなぜですか?
.net - WPF DataGrid:行の並べ替え?
WPF データ グリッドを作成しています。次のように、ドラッグ アンド ドロップで行を並べ替えられるようにしたいと考えています。行をクリックして上下にドラッグします。すると、マウスを離すと行がドロップされる場所がマーカーで示されます。マウスを離すと、ドラッグした行がマーカーで示された場所に挿入されます。
これを行う方法を示す記事やブログ投稿を見た人はいますか? 必要がなければ車輪の再発明はしたくありませんし、Google からも何も報告がありません。ありがとう。
wpf - WPF DataGrid:画像列ヘッダーをリソースにしますか?
WPF DataGrid にチェックボックス列を作成し、列ヘッダーをチェックマーク画像に設定しました。ここに私のマークアップがあります:
そのヘッダーをリソース (たとえば、"CheckmarkHeader" など) に変換して、データ グリッド列の HeaderStyle プロパティを使用して他のグリッドで呼び出すことができるようにしたいと考えています。
それはできますか?どうすればいいですか?ご協力いただきありがとうございます。
wpf - WPF DataGrid のベスト プラクティス?
を使用する MVVM ベースの WPF アプリに取り組んでいますDataGrid
。ObservableCollection<Widget>
グリッドは(Widget
リスト)にデータ バインドされています。Widget
ユーザーは、現在選択されている の下のリストにを挿入したり、選択Widget
した を削除したり、グリッドでWidget
を並べ替えたりできる必要があります。Widget
ドラッグ アンド ドロップで並べ替えを実装します。
これを掘り下げる前に、私のアプローチの現実を確認したいと思います。これが私がやろうとしていることです:Widget
クラスにはIndex
、リストの順序付けに使用されるプロパティがありWidget
ます。追加、削除、および並べ替えは、この Index プロパティを操作することによって行われ、並べ替えWidget
はCollectionView
.
DataContext
が設定される前に、Widget
リストはIndex
プロパティでソートされます。ユーザーが を追加するWidget
と、プロパティはグリッドで選択された項目の下Index
ごとに 1 ずつ増加し、新しい項目には再番号付けによって開かれたインデックス番号が与えられます。リストが再ソートされ、バインディングが更新されます。Widget
Widget
Widget
ユーザーが を削除するWidget
と、Widget
がリストからIndex
削除され、削除されたアイテムの下にあるグリッド上のアイテムのプロパティが 1 減りますWidget
。上記のように、リストが再ソートされ、バインディングが更新されます。並べ替えは、削除と挿入の組み合わせとして行われます。
これが私の質問です: これは、挿入、削除、および並べ替えを実装するための合理的な戦略ですか? それについてもっと良い方法はありますか?このテーマに関する良い記事やブログ投稿はありますか? 私は見ましたが、適切なものは何も思いつきません。
ご協力いただきありがとうございます。
wpf - WPF DataGrid:空白行がありません
を使用してWPFウィンドウを作成していますDataGrid
が、グリッドの下部に空白の「新しいアイテム」行を表示して、グリッドに新しいアイテムを追加できるようにします。何らかの理由で、ウィンドウのグリッドに空白行が表示されません。これが私が作成に使用したマークアップですDataGrid
:
空白行が表示されない理由がわかりません。私は明らかなもの(IsReadOnly="false"
、CanUserAddRows="True"
)を試しましたが、運がありませんでした。空白行が無効になっている理由はありますか?ご協力いただきありがとうございます。
c# - プロパティにバインドされたWPFDatagridRowDetailsTemplateの可視性
RowDetailsパネルでWPFDatagridを使用しています。ここでは、RowDetailsVisibilityModeが"VisibleWhenSelected"およびSelectionMode= "Extended"に設定されているため、複数の行を選択して、以下のようにRowDetailsを表示できます。
残念ながら、このアプリケーションでは、「選択した」行に行の詳細を表示するのは直感的ではありません。クライアントは、いくつかの行のチェックボックスをクリックしてRowDetailsペインを表示するだけでなく、グリッドをスクロールして他の行を選択したいと考えています。つまり、DataGridで何が起こっても、RowDetailsを表示する行を修正します。
そのため、現在スクロールすると、開いているRowDetailsPanesが閉じます。私がやりたいのは、列の1つにチェックボックスを設定し、RowDetailsパネルの可視性をこのプロパティにバインドすることですが、その方法がわかりません。問題は、RowDetailsPaneがデータグリッド内の行選択でのみ動作することです-選択したプロパティで動作するように何らかの方法で拡張できますか?
よろしくお願いします、ウィル
c# - DataGridComboBoxColumnを取得するには、どの名前空間を使用する必要がありますか?
WPFのC#3.5でアプリを作成しています。プログラムでC#のDataGridComboBoxColumnをWPFツールキットDataGridに追加したいと思います。問題は、ディレクティブまたはアセンブリのいずれかが欠落しているため、コントロール自体が存在しないように見えることです。System.Windows.Controlsと、WPFToolkitへの参照を追加することでこれを処理できると思いましたが、そうではないようです...何かが足りないのでしょうか。
私が奇妙だと思うのは、XAMLではDataGridComboBoxColumnを作成するのにまったく問題がないということです...
これが私が達成しようとしていることの例です:
*編集:私の問題をもう少し理解することで... C#で同等のXAMLを実行する方法も知りたいです:
c# - WPF Datagridの「すべて選択」ボタン - 「すべて選択解除」も?
データグリッドの左上にある [すべて選択] ボタンに機能を追加して、すべての行の選択を解除できるかどうかを知りたいですか? これを行うボタンにアタッチされたメソッドがありますが、ビューの同じ部分で機能を維持するために、[すべて選択] ボタンからこのメソッドを起動できれば素晴らしいと思います。この「すべて選択」ボタンにコードを追加できますか? もしそうなら、どのようにしてボタンにアクセスできますか? 例や提案を見つけることができませんでした。
wpf - WPF DataGrid の編集可能な行を 1 つだけ持つことはできますか?
ユーザーに表示したいデータセットがありますが、最新 (最初) のデータ行のみを編集できるようにしたいと考えています。参照用に他の行のデータを表示する必要があります。すべてを同じ DataGrid に保持する必要はありませんが、可能であれば保持したいと考えています。
私はWPFが初めてなので、どんな助けやアイデアも大歓迎です!
c# - WPF Datagrid の最初の行をスタイルする
WPF Datagrid の最初の行 (のみ) のスタイルを変更したいのですが、その方法が見つかりません。次のようなトリガーを作成することについて疑問に思いました。
しかしもちろん、DataGridRow には「SelectedIndex」プロパティがないため、これは機能しません。コードビハインドでこれを行う試みもいくつかありましたが、機能させることができませんでした。
かなり単純なことのように思えますが、私はそれを管理できていないので、アドバイスをいただければ幸いです。
ありがとう、ウィル