var taskItem = Project.Current.GetItems<TaskProjectItem>().FirstOrDefault(); // if there isn't a project task item, return if (taskItem == null) return; string message = await QueuedTask.Run(async () => { bool isOpen = taskItem.IsOpen; Guid taskGuid = taskItem.TaskItemGuid; string msg = ""; try { TaskItemInfo taskItemInfo = await taskItem.GetTaskItemInfoAsync(); msg = "Name : " + taskItemInfo.Name; msg += "\r\n" + "Description : " + taskItemInfo.Description; msg += "\r\n" + "Guid : " + taskItemInfo.Guid.ToString("B"); msg += "\r\n" + "Task Count : " + taskItemInfo.GetTasks().Count(); // iterate the tasks in the task item IEnumerable<TaskInfo> taskInfos = taskItemInfo.GetTasks(); foreach (TaskInfo taskInfo in taskInfos) { string name = taskInfo.Name; Guid guid = taskInfo.Guid; // do something } } catch (OpenTaskException e) { // exception thrown if task file doesn't exist or has incorrect format msg = e.Message; } catch (TaskFileVersionException e) { // exception thrown if task file does not support returning task information msg = e.Message; } return msg; }); ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show(message, "Task Information");
Target Platforms: Windows 11, Windows 10