Parameters
- URI
- String
Exception | Description |
---|---|
ArcGIS.Core.CalledOnWrongThreadException | This method or property must be called within the lambda passed to QueuedTask.Run. |
LayoutProjectItem layoutItem = Project.Current.GetItems<LayoutProjectItem>().FirstOrDefault(item => item.Name.Equals("Layout Name")); await QueuedTask.Run(() => { Layout layout = layoutItem.GetLayout(); PictureElement picElm = layout.FindElement("Rectangle") as PictureElement; picElm.SetSourcePath(@"C:\Some\New\Path\And\file_pic.png"); });
///This example references a PictureElement on a layout and changes the picture by setting a path to a file on disk using the //Added references using ArcGIS.Desktop.Core; using ArcGIS.Desktop.Layouts; using ArcGIS.Desktop.Framework.Threading.Tasks; public class PictureElementExample { public static Task<bool> UpdatePictureElementAsync(string LayoutName, string PictureName, string PicturePath) { //Reference a layoutitem in a project by name LayoutProjectItem layoutItem = Project.Current.GetItems<LayoutProjectItem>().FirstOrDefault(item => item.Name.Equals(LayoutName)); if (layoutItem == null) return Task.FromResult(false); return QueuedTask.Run<bool>(() => { //Reference and load the layout associated with the layout item Layout lyt = layoutItem.GetLayout(); //Reference a picture element by name PictureElement picElm = lyt.FindElement(PictureName) as PictureElement; if (picElm == null) return false; //Change the path to a new source picElm.SetSourcePath(PicturePath); return true; }); } }
//Update a picture element. //Perform on the worker thread QueuedTask.Run(() => { // Reference and load the layout associated with the layout item Layout layout = layoutItem.GetLayout(); if (layout != null) { // Reference a picture element by name PictureElement picElm = layout.FindElement("MyPicture") as PictureElement; // Change the path to a new source if (picElm != null) picElm.SetSourcePath(@"D:\MyData\Pics\somePic.jpg"); } });
Target Platforms: Windows 11, Windows 10