質問

私は、多くの議論が行われており、人々が DataGrid for WPF について質問し、Microsoft がこれまで自社の WPF フレームワークに DataGrid を導入していなかったとして不満を抱いているのを見てきました。私たちは WPF が優れた UI テクノロジであることを認識しており、優れた UX を作成するための ItemsControl、DataTemplate などのコンセプトを持っています。WPF にも、より厳密に一致するコントロール ListView があり、これを簡単にテンプレート化して、従来の Datagrid のような表示よりも優れた UX を実現できます。そして、既成の DataGrid コントロールは多くの創造性を殺したり隠したりし、ユーザー エクスペリエンス分野のイノベーションを確実に減少させるでしょう。

WPF における Framework コンポーネントとしての DataGrid の必要性についてはどう思いますか?それが必要だと感じているのなら、それは単に世界が長年にわたって DatGrid によるデータ表示方法に慣れているからでしょうか?

DatGrid について議論している他のスレッドは次のとおりです。 ここ そして ここ

へのリンク WPF ツールキット - 最新の WPF DatGrid

役に立ちましたか?

解決

DataGrids は、バッキング ストアにバインドされた大量の表形式データを表示するのに優れています。

しかし、WinForms の世界で何が起こったかというと、人々は複数要素のスクロール リストを必要とするあらゆるものに WinForms を頻繁に使用していました。改良されたサードパーティの DataGrids がすぐに利用可能になり、列やフィールドにボタン、コンボボックス、アイコンなどを含めることが可能になりました。

DataGrid が主力となったのは、DataGrid を説得してそのように動作させることができるものが必要だったからです。ジェネリック コレクションが登場する前の DataTable にも同様のことが起こりました。多くの DataTable を使用している場合、DataGrid を使用して UI にそれを表示することが最も抵抗が少ない方法です。

WPF が登場したとき、私のような多くのプログラマーはまだこのように考えており、DataGrid コンセプトの WPF ポートを探していたと思います。

他のヒント

特に、(ヘッダー付き)ItemsControl をテンプレート化/開発して古き良き DGV のように動作させるという車輪の再発明をしたくないビジネス アプリでは、表形式のデータを表示するためのこれ以上のコントロールは思いつきません。きっと見たと思います これ.

WPF で DataGrid コントロールを自分で作成できることに異論を唱える人はいません。おそらく WinForms についても同じことが言えますが、より困難になります。ListView を使用していくつかの機能を実装しました。表形式のデータを表示するのは簡単で、十分にサポートされているとさえ言えます。ただし、編集用 ListView を作成するために必要なコード (手動で記述されたコード) の量は膨大です。

通常、ビジネス アプリケーションでは多くのテーブルを編集する必要がありますが、創造性を発揮する必要はなく、迅速であることが求められます。私の意見では、DataGrid が必要なのはそのためです。

はい、DataGrids が重要なビジネス UI コンポーネントとして消えることはありません。人々は自分のスプレッドシートを愛しているので、私たちもその愛を分かち合いたいと思っています。

MS に注意してください これらの追加のコントロールを出荷する - 彼らは、 WPF ツールキット CodePlex 上で、迅速なターンアラウンドのオープンソース スタイルの展開を提供します。

これには、DataGrid と Calendar がすでに含まれています。

はい、そうです!msが提供できなかった他の多くの制御の中でも。(日付ピッカー、NumericControl)

MS はまず仕事を成し遂げるためのツールを提供してくれるはずですが、これは wpf の誇大宣伝が行われるプログラミング環境に私が期待する最低限のことです。

必須ですが、GridViewを使ったListViewでもほぼ同じ効果が得られますよね。

WPF を約 2 年間使用した後。DataGrid は実際には単なる美化された ListBox であると言えます (WPF の [ほぼ] すべてがスタイルレスであるため)。

ある種のエンティティを取得し、各エントリの「レコード」コントロールを表示するように ListBox をスタイル設定することもできます。これらがどの程度柔軟に行われるかに応じて、渡されたエンティティに基づいて自動的に調整される可能性があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top