Для начала я бы сделал действие Показать созданное имя файла дочерним действием действия Просмотр файлов , чтобы оно могло контролировать его выполнение.Затем я бы добавил обратный вызов возобновления закладок, чтобы Смотреть файлы активность могла реагировать и планировать Показать созданное имя файла активность в обратном вызове.
При желании вы можете захотетьсоздайте свою закладку с помощью BookmarkOptions.MultipleResume, чтобы вы могли обрабатывать столько файловых событий, сколько захотите, и переходить только тогда, когда вы этого хотите.
public class WatchFilesActivity : NativeActivity
{
public Activity Child {get; set;}
protected override void Execute(NativeActivityContext context)
{
var fileSystemWatcher = new FileSystemWatcher(context.GetValue(Path));
fileSystemWatcher.IncludeSubdirectories = context.GetValue(IncludeSubdirectories);
fileSystemWatcher.Filter = context.GetValue(Filter);
var bookmark = context.CreateBookmark(ResumeFileCreatedBookmark, OnFileCreated, BookmarkOptions.MultipleResume);
context.GetExtension<FileSystemWatcherExtension>().Start(fileSystemWatcher, bookmark);
}
protected void OnFileCreated(NativeActivityContext context, Bookmark bookmark, object value)
{
var fileName = (string)value
context.ScheduleActivity(Child);
}
}
Примечание. Код, введенный в блокноте, допускает опечатки.
Если вам нужно передать имя файла дочернему действию, вы можете использовать ActivityAction, чтобы сделать это.См. здесь для примера использования ActivityFunc, который похож на ActivityAction за исключением того, что он также имеет возвращаемое значение.