35

DocumentViewer誰かが WPFをより便利にするためにハッキングしようとしたかどうか疑問に思っています。リフレクションを使用して抽出したメソッドに基づいて、このコントロール用のより強力な API を作成しようとして、すでにほぼ 1 週間を費やしました。

リフレクションを介してドキュメント ビューアーから選択したテキストを取得する方法は誰もが知っていますが、私の作業はより複雑です。選択したテキストにはEndStartを返すプロパティがありますITextPointers。また、このコードを使用して抽出されたGlyphRunsのコレクションもあります。そして最後に、選択開始 を含むものを見つけたいと思います。GlyphRun

ITextPointersに変換する方法GlyphRunsとその逆の方法を知りたいです。1 対 1 の関係ではないことは理解しています。クローズド API を使用したこのコントロールと、先週は Reflector で過ごしたので、よく眠れません。誰かが以前にやろうとしたり、コードサンプルを見たりして、これらのジャングルを案内してくれることを願っています.

4

1 に答える 1

1

このアプローチを放棄することをお勧めします。このように多くのプライベート リフレクションを行うことは、プロダクション コードのベースにするべきではありません。非常に脆く、状況によってはまったく禁止されています。率直に言って、 www.infragistics.comなど、ニーズに合ったサード パーティ製のコントロールを見つけたほうがよいでしょう。

または、それがオプションでない場合は、これを機能させるために沈む必要がある時間の中で、おそらく独自のコントロールを作成できます。

于 2012-05-12T16:41:47.683 に答える