public void SetAsDefault(FilePath fileName, string mimeType, OpenWithFileViewer fileViewer) { ClearDefault(fileName, mimeType); if (fileViewer == null) { return; } var key = GetKey(fileName, mimeType); var userDefinedFileViewer = fileViewer as UserDefinedOpenWithFileViewer; if (userDefinedFileViewer != null) { defaultDisplayBindings [key] = userDefinedFileViewer.DisplayBinding; userDefinedFileViewer.SetAsDefault(); return; } key.IsApplication = fileViewer.IsApplication; key.IsDisplayBinding = fileViewer.IsDisplayBinding; mappings [key] = fileViewer.GetMappingKey(); var displayBinding = DisplayBindingFactory.CreateDisplayBinding(fileName, mimeType, fileViewer); defaultDisplayBindings [key] = displayBinding; DisplayBindingService.RegisterRuntimeDisplayBinding(displayBinding); }
public void AddUserDefinedViewer( FilePath fileName, string mimeType, UserDefinedOpenWithFileViewer fileViewer) { List <UserDefinedOpenWithFileViewer> existingFileViewers = GetUserDefinedFileViewers(fileName, mimeType); var key = GetKey(fileName, mimeType); fileViewer.IsNew = false; existingFileViewers.Add(fileViewer); userDefinedFileViewers [key] = existingFileViewers; var displayBinding = DisplayBindingFactory.CreateDisplayBinding(fileName, mimeType, fileViewer); fileViewer.DisplayBinding = displayBinding; DisplayBindingService.RegisterRuntimeDisplayBinding(displayBinding); }