public sealed class AnnSerializeOptions
function Leadtools.Annotations.Core.AnnSerializeOptions()
This class is used as the type for AnnCodecs.SerializeOptions and contains the following members:
Member | Description |
---|---|
SerializeObject |
Event to trigger for each annotation object being saved. Allows you to monitor and skip any object. |
SaveLockPassword |
Controls whether AnnObject.Password of locked annotation objects is saved in the annotation file. |
[TestMethod] public async Task AnnCodecs_AnnSerializeOptions() { // Create a new annotation container, 8.5 by 11 inches AnnContainer container = new AnnContainer(); // Size must be in annotation units (1/720 of an inch) container.Size = LeadSizeDHelper.Create(8.5 * 720, 11 * 720); double inch = 720.0; // Add a red line object, from 1in 1in to 2in 2in AnnPolylineObject lineObj = new AnnPolylineObject(); lineObj.Points.Add(LeadPointDHelper.Create(1 * inch, 1 * inch)); lineObj.Points.Add(LeadPointDHelper.Create(2 * inch, 2 * inch)); lineObj.Stroke = AnnStroke.Create(AnnSolidColorBrush.Create("Red"), LeadLengthDHelper.Create(1)); container.Children.Add(lineObj); // Add a blue on yellow rectangle from 3in 3in to 4in 4in AnnRectangleObject rectObj = new AnnRectangleObject(); rectObj.Rect = LeadRectDHelper.Create(3 * inch, 3 * inch, 1 * inch, 1 * inch); rectObj.Stroke = AnnStroke.Create(AnnSolidColorBrush.Create("Blue"), LeadLengthDHelper.Create(1)); rectObj.Fill = AnnSolidColorBrush.Create("Yellow"); container.Children.Add(rectObj); // Show the container ShowContainer("Before save", container); // Create the codecs object to save and load annotations AnnCodecs codecs = new AnnCodecs(); // Create a new instance of AnnSrializeOptions and Hook to the SerializeObject event AnnSerializeOptions serializeOptions = new AnnSerializeOptions(); serializeOptions.SerializeObject += serializeOptions_SerializeObject; // Set it as our deserialize options codecs.SerializeOptions = serializeOptions; // Save the container string destFileName = @"container.xml"; StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName); await codecs.SaveAsync(saveFile, container, AnnFormat.Annotations, 1); // delete the container container = null; // Load the container we just saved container = await codecs.LoadAsync(saveFile, 1); // Show it ShowContainer("After load", container); } void serializeOptions_SerializeObject(object sender, AnnSerializeObjectEventArgs e) { AnnObject annObj = e.AnnObject; if (annObj.Id == AnnObject.PolylineObjectId) { Debug.WriteLine("skipping a polyline during save"); e.SkipObject = true; } }
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2