1

そのXamlファイル内にフロードキュメントとリストアイテムを含むXamlファイルがあります。
ここに私のコードがあります、

            xmlns:p="http://schemas.microsoft.com/winfx/2006/xaml/presentation";

            <Book>
              <Ins>
                 <p:FlowDocument>
                    <p:List StartIndex="1">
                        <p:ListItem>
                           <p:Paragraph>Some Text.</p:Paragraph>
                        </p:ListItem>
                        <p:ListItem>
                            <p:Paragraph>Some Text.</p:Paragraph>
                        </p:ListItem>
                    </p:List>
                 </p:FlowDocument>
              </Ins>
            </Book>

     private FlowDocument _notes;
        public FlowDocument Notes
                {            
                    get { return _notes; }
                    set
                    {
                        if (_notes!= value)
                        {
                            _notes= value;
                            RaisePropertyChanged(() => Notes);
                        }
                    }
                }

このドキュメントを読み込むことができます。XamlServices.Save を使用してこのドキュメントを保存しようとすると、List内に以下の追加タグが生成されます。

  <av:List.SiblingBlocks>
         <x:Reference>__ReferenceID13</x:Reference>
    </av:List.SiblingBlocks>
  <av:ListItem.SiblingListItems>
       <x:Reference>__ReferenceID9</x:Reference>
              <x:Reference>__ReferenceID12</x:Reference>
</av:ListItem.SiblingListItems>

この新しく保存された Xaml ファイルを読み込もうとすると、「コレクション プロパティ 'System.Windows.Documents.ListItem'.'SiblingListItems' は null です。」というエラーがスローされます。兄弟ブロックで..

ここでの問題は、wpf 型のオブジェクトであるため、フロー ドキュメントを使用していると思います。XamlServices.Load() でフロー ドキュメント (Wpf 型のオブジェクト) を使用することはできません。型付きオブジェクト)...

XamlWriter.Save でも試しましたが、パラメーター コンストラクターで Genric クラスを使用しているため、うまくいきません。

前もって感謝します..

4

0 に答える 0