2011-01-30 5 views
2

ListViewを使用して項目の仲裁判断のリストを表示する独自のユーザーコントロールを作成しました。私のプロジェクト内の各ページで、XAMLでListViewの列を開き、次にオブジェクトにバインドします。WPF - ListViewの内容を出力しますか?

私がしようとしているのは、ListViewの内容全体を印刷するコントロール内に単一のPrintメソッドを記述することです。

私はItemsSourceをテーブルに変換する必要があると答えたところで同様の質問を読みました。実際にそれがこの仕事を達成する方法であれば、誰かがそれを親切にして、私が任意の目的のためにそのプロセスを歩かせることができますか?

おかげで、
ソニー

答えて

0

うーん...私は最終的に(ソートの)解決問題。

私はListView内のGridViewColumnsを繰り返し、ListViewのItemSourceを反復処理し、Reflectionを使用してDisplayMemberBinding.Path.Pathを取得し、プロパティの値を取得することもできます。

DisplayMemberBindingには、すべてのマイコンバーターに関する情報も含まれていますので、ぜひお立ち寄りください。

これは遅いです(ListViewでは400行で約10秒ですが)。

1

ListViewVisualから派生しているので、多分あなたは、リストビュー自体を印刷するPrintVisual()メソッドを使用することができます。

new PrintDialog().PrintVisual(yourListView, "Print Job Description"); 
+0

それは私の最初の本能でした。残念なことに、いくつかのアイテムの数が多いリストビューでは、すべてのアイテムの代わりにスクロールバーを表示する必要があります。あなたはその周りに道を知っていますか? –

+0

@ソニー、[この質問](http://stackoverflow.com/questions/205112/printing-a-collection-in-wpf)同じ問題を話します。受け入れられた答えは、リストビューアイテムを保持するために 'FlowDocument'を使います。 –

+0

@Fréd - 私は任意のオブジェクトに対してこれをどうやって行うのですか?私はListViewから行と列のコレクションを取得する方法がわからないので、それらを反復することができます。 –

関連する問題