1

WPF の Excel のようなグリッド コントロールを作成する必要があります。私はWPFが初めてで、どこから始めればよいかわかりません。

UserControl、FrameworkElement、またはその他から派生する必要がありますか?

水平および垂直スクロールバーとコンテンツ領域が必要です。これは、グリッド コントロールにスクロールバー付きの DockPanel が必要であり、次にコンテンツ領域用の別のコントロールが必要であり、GridUserControl に 2 つのドッキングされたスクロールバーと GridContentFrameworkElement コントロールを持つ DockPanel があることを意味しますか?

グリッドを購入することはオプションではありません。


これが私が決めたことです: 私は GridUserControl (UserControl から派生) を持っています。2 つのドッキングされた ScrollBar オブジェクトを持つ DockPanel があります。メイン コンテンツ領域 (GridContent) は、Panel から派生した別のコントロールです。コンテンツは GridContent.OnRender に描画されます。

コンテンツ領域全体をレンダリングしてからスクロールする必要があるため、ScrollViewer は使用しませんでした。グリッドには何百万行もある可能性があるため、現在表示されているコンテンツ領域のビットのみを描画したかっただけです。

4

3 に答える 3

2

あなたはそれを書く必要がありますか?そこにはたくさんの良いグリッドがあります。無料のものでも。私はそれが無反応であることを知っていますが、助けようとしているだけです.

于 2009-04-19T03:10:40.830 に答える
1

無料

まず、WPFには、単純なグリッドであるGridViewコントロールが付属しています。ニーズに合わない場合は、既存の機能を継承できるように拡張することができます。

また無料

ほとんどの人は、要件に対して単純すぎると感じているので、Microsoftの無料の WPFToolkitにDataGridコントロールが含まれていることを確認してください。これは、ニーズに対応できる場合があります。ここに概要があります。

このためのソースコードが利用可能です。これは、コントロール全体を自分で実装する必要があり、グリッドコントロールを作成するための1つのアプローチを確認したい場合に役立ちます。

幸運を!

于 2009-04-20T19:47:48.240 に答える
0

おそらく、UserControl または ItemsControl (または、Selector などの ItemsControl 階層内の何か) から派生する必要があります。WPF を初めて使用する場合は、適切なカスタム コントロールを作成するには、API だけでなく WPF 開発の慣用句にある程度流暢である必要があるため、UserControl から派生させるのがおそらく最善です。

明示的な ScrollBar 要素を作成して手動でスクロール領域を管理しようとするのではなく、ScrollViewer クラスの使用を検討してください。ScrollViewer 内でグリッド コンテンツをホストし、使用可能な表示領域に対して大きすぎる場合、ScrollViewer はスクロール バーの表示とコンテンツのスクロールを自動的に処理します。

データ グリッド タイプの機能を探している場合は、さまざまな無料の商用およびオープン ソースの WPF データ グリッドが利用可能であることに注意してください。

于 2009-04-19T03:12:15.753 に答える