public void RemoveUserDefinedViewer( FilePath fileName, string mimeType, UserDefinedOpenWithFileViewer fileViewer) { List <UserDefinedOpenWithFileViewer> existingFileViewers = GetUserDefinedFileViewers(fileName, mimeType); var key = GetKey(fileName, mimeType); existingFileViewers.Remove(fileViewer); if (!existingFileViewers.Any()) { userDefinedFileViewers.Remove(key); } DisplayBindingService.DeregisterRuntimeDisplayBinding(fileViewer.DisplayBinding); }
public void ClearDefault(FilePath fileName, string mimeType) { var key = GetKey(fileName, mimeType); mappings.Remove(key); IDisplayBinding displayBinding = null; if (defaultDisplayBindings.TryGetValue(key, out displayBinding)) { var userDefinedViewer = GetUserDefinedFileViewer(fileName, mimeType, displayBinding); if (userDefinedViewer != null) { userDefinedViewer.ClearAsDefault(); } else { DisplayBindingService.DeregisterRuntimeDisplayBinding(displayBinding); } defaultDisplayBindings.Remove(key); } }