0

私はでプログラムを開発していて、ファイルに(長方形、楕円、...)WPFを書き込んで読み取る必要があり、それらを読み取る必要があります。shapse

そのための方法はありますか、それとも幅、高さ、...それらをロードするなどの仕様を書く必要がありますか?何か案が?

私はから使用しました:

  Stream stream = File.Open("mehdi.txt", FileMode.Create);
            BinaryFormatter bFormatter = new BinaryFormatter();
            ArrayList a = new ArrayList();
            a.Add(shapelist);  //shapelist is arraylist

            bFormatter.Serialize(stream, a);
            stream.Close();

しかし、このコードには次のエラーがあります:

Type 'System.Windows.Shapes.Rectangle' in Assembly 'PresentationFramework, Version=4.0.0.0,
 Culture=neutral, PublicKeyToken=31bf3856ad364e35' is not marked as serializable.
4

2 に答える 2

1

「デザイン」を記述するXAML(Rectangle、Ellipseなど)を個別の.xamlファイルとして保持できます。

次に、を使用してそのXAMLをオンデマンドでロード/保存できますXAMLReader.Load/Save

これによりオブジェクトが作成され、UIに表示したい場所にコンテンツ/追加として設定できます。

于 2012-09-05T13:24:08.080 に答える
0

これはうまくいきました!

 FileStream f = new FileStream("mehdi.txt", FileMode.Create, FileAccess.Write); // 
        XamlWriter.Save(inkcanvas, f);
        foreach (var e1 in inkcanvas.Children) // 
        XamlWriter.Save(e1);
        foreach (var e1 in inkcanvas.Strokes)
               XamlWriter.Save(e1);
于 2012-09-05T18:00:12.853 に答える