Как вы используете методы чтения / записи Xaml в wpf для сохранения и загрузки объектов xaml, таких как холст. Я просмотрел примеры документации Microsoft, но не понимаю их полностью. Некоторые примеры кода были бы действительно полезны, спасибо.

-2
ADS 2 Май 2021 в 16:24

1 ответ

Лучший ответ

Microsoft docs это просто

Сначала мы создаем холст, затем устанавливаем высоту и ширину

Canvas canvas = new Canvas();
canvas.Height = 50;
canvas.Width = 100;

Теперь мы сохраняем наш xaml с помощью XamlWriter

// Save the canvas to a string.
string savedCanvas = XamlWriter.Save(canvas);

И если хотите, можете записать в файл

File.WriteAllText("canvas.xaml", savedCanvas);

И, наконец, вы можете прочитать строку, а затем загрузить ее с помощью xamlreader

// Load the canvas
StringReader stringReader = new StringReader(savedCanvas);
XmlReader xmlReader = XmlReader.Create(stringReader);
Canvas readerLoadCanvas = (Canvas)XamlReader.Load(xmlReader);

Обновить:

Если вы хотите использовать свой код xaml, просто установите имя для своего объекта

<Grid>
  <Canvas Height="250" Width="250" Background="Red" Name="cnv"/>
</Grid>

Тогда

string savedCanvas = XamlWriter.Save(cnv);
2
Mahdi 2 Май 2021 в 14:55