3

私はこの問題で頭がいっぱいです。xml をメイン ドキュメント パーツに正常にバインドできますが、ヘッダー内のコンテンツ コントロールを取得して xml にバインドできないようです。

AddCustomXmlPart は Headerpart に存在しないようで、hdrpart.AddPart(xmlPart); を介して CustomXmlPart を追加しようとすると、

無効な操作の例外「パーツをここに追加できません」が発生し、hdrpart.AddNewPart(); を使用できません。CustomXmlPart は IFixedContentTypePart ではないためです。

ここ数日、データをヘッダーにバインドする方法の例を探していましたが、すべて役に立ちませんでした。新しいヘッダーの作成、ヘッダーの移動などに関する例はたくさんありますが、ヘッダーへの CustomXml のバインドに関する例はありません。

誰かがこれに光を当ててくれることを願っています。

前もって感謝します。

アル

4

1 に答える 1

2

リフレクターを使用した実装を見てみましょう。MainDocumentPart が、追加できるパーツに関するいくつかの制約を定義していることがわかります。これらの定義は GetPartConstraint() メソッドで行われます (このメソッドは OpenXmlPartContainer から派生します)。

MainDocumentPart の GetPartConstraints() メソッドは、CustomXmlPart が許可されることを定義します。HeaderPart の GetPartConstraints() メソッドは、CustomXmlPart が許可されていることを定義していません。--> それが例外の理由です。

それがあなたの質問に答えることを願っています。

よろしく。

于 2010-03-03T07:42:17.343 に答える