やや特別な問題があります。添付されたプロパティをチェックする必要があるマークアップ拡張機能があります。アタッチされたプロパティは継承可能として定義されています。
これは、Window / UserControlで定義されているすべての要素に対して、XAMLで適切に機能しますが、リソースに対しては機能しません。たとえば、このXAMLが与えられた場合:
<Window MyAttachedProp="...">
<Window.Resources>
<FlowDocument x:Key="Doc">
<Paragraph><Run Text="{MyMarkupExtension}" /></Paragraph>
</FlowDocument>
</Window.Resources>
<FlowDocumentScrollViewer Document="{StaticResource Doc}" />
...
</Window>
ProvideValue()関数が呼び出されたときに、添付されたプロパティがWindowからFlowDocumentおよびRunに派生しないため、マークアップ拡張は失敗します。
これを機能させるための同じ回避策はありますか?
ありがとう、スティーブン