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(矩形、椭圆等)保留为单独的 .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 回答