問題:
Window Resources で定義されているRun
内の名前付き要素にアクセスしようとしています。FlowDocument
意味を明確にするために、次のコードを検討してください。
<Window.Resources>
<FlowDocument x:Key="doc">
<Paragraph>
<Run x:Name="run" />
</Paragraph>
</FlowDocument>
</Window.Resources>
Run
ここでは、「run 」という名前の要素にアクセスしようとしています。
私がこれまでに試したこと:
要素の名前を使用してアクセスするだけです。ただし、ウィンドウのリソース内の名前付き要素は、ウィンドウのコンテンツで定義された要素と同じデフォルトのアクセシビリティを持っていないようです。これは、この方法が機能しなかったためです。
要素にキーを追加しようとした後、メソッド
Run
を介して要素にアクセスしようとしています。FindResource()
残念ながら、ネストされた要素にキーを追加することはできないようです。をスローする次のコード
NullReferenceException
:FlowDocument doc = (FlowDocument)FindResource("doc"); ((Run)doc.FindName("run")).Text = "example text";