public void Run() { var mainWindowViewModel = new MainWindowViewModel(); var mainWindow = new MainWindow(); mainWindow.DataContext = mainWindowViewModel; var app = new Application { MainWindow = mainWindow }; var mapper = new Mapper(mainWindowViewModel); FlowRuntimeConfiguration.DispatcherFactory = () => new DispatchForWPF(); var flowRuntimeConfguration = new FlowRuntimeConfiguration() .AddStreamsFrom("fotobrowser.root.flow", Assembly.GetExecutingAssembly()) .AddFunc("arbeitsverzeichnis_ermitteln", () => Environment.GetCommandLineArgs()[1]) .AddFunc<string, IEnumerable<contracts.Directory>>("unterverzeichnisse_ermitteln", Drives.Verzeichnisse_ermitteln) .AddAction<IEnumerable<contracts.Directory>>("verzeichnisse_mappen", mapper.MapDirectories).MakeDispatched() .AddFunc<string, IEnumerable<string>>("bilddateien_ermitteln", Drives.Bilddateien_ermitteln) .AddAction<IEnumerable<string>>("bilddateien_mappen", mapper.MapFilenames).MakeDispatched(); using (var flowRuntime = new FlowRuntime(flowRuntimeConfguration)) { flowRuntime.Message += Console.WriteLine; flowRuntime.UnhandledException += Console.WriteLine; mainWindow.Refresh += flowRuntime.CreateEventProcessor<string>(".refresh"); flowRuntime.Process(".start"); app.Run(mainWindow); } }
public Mapper(MainWindowViewModel mainWindowViewModel) { this.mainWindowViewModel = mainWindowViewModel; }