我在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.
答案 0 :(得分:1)
您可以将描述“设计”的XAML(矩形,椭圆等)保存为单独的.xaml文件。
然后,您可以使用XAMLReader.Load/Save
按需加载/保存该XAML。
这将创建一个对象,然后您可以将其设置为内容/添加,以便在UI中显示它。
答案 1 :(得分: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);