private void Preview(PicDto picDto) { try { string url = LossPicAttachItem.Url; string filename = url.LastIndexOf("/") > 0 ? url.Substring(url.LastIndexOf("/") + 1) : ""; if (String.IsNullOrEmpty(filename)) { return; } if (CrossFilePicker.Current.IsExistFile(filename, "RMMTIMAGEVIEW")) { //已从服务器上缓存的图片。 CrossFilePicker.Current.OpenFile(filename, "RMMTIMAGEVIEW"); } else { _commonFun.DownLoadFileFromOss(url, filename, "RMMTIMAGEVIEW"); } } catch (Exception) { _commonFun.AlertLongText("加载异常,请重试"); } }
private void ShowPictureById(int picId) { int row; if (chPicSelCraft.Checked) { var craft = _ctx.vwPics.AsNoTracking().Single(x => x.PicId == picId); if (craft != null) { var craftId = craft.CraftId; if (_selectedCraft == null || _selectedCraft.CraftId != craftId) { var craftDto = _craftDtos.FirstOrDefault(x => x.CraftId == craftId); if (craftDto == null) { craftDto = Mapper.Map <CraftDto>(_ctx.vwCrafts.AsNoTracking().Single(x => x.CraftId == craftId)); _craftDtos.Add(craftDto); gridCraft.RowsCount++; row = gridCraft.RowsCount - 1; UpdateCraftRow(craftDto, row); gridCraft.Refresh(); } else { row = _craftDtos.IndexOf(craftDto) + 1; } var focusPosn = new Position(row, _craftPosition.Column); gridCraft.Selection.Focus(focusPosn, true); DoCraftCellGotFocus(focusPosn); _craftPosition = focusPosn; _selectedCraft = craftDto; } } } else { var artId = _ctx.vwPics.AsNoTracking().Single(x => x.PicId == picId).ArtId; if (_selectedArt == null || _selectedArt.ArtId != artId) { var artDto = _artDtos.FirstOrDefault(x => x.ArtId == artId); if (artDto != null) { row = _artDtos.IndexOf(artDto) + 1; var focusPosn = new Position(row, _artPosition.Column); gridArt.Selection.Focus(focusPosn, true); _artPosition = focusPosn; _selectedArt = artDto; } } } PicDto pic = null; if (tabControl1.SelectedIndex == 2) { pic = _pics.SingleOrDefault(x => x.PicId == picId); } else { tabControl1.SelectedIndex = 2; pic = _pics.SingleOrDefault(x => x.PicId == picId); } if (pic == null) { LoadPics(true); pic = _pics.SingleOrDefault(x => x.PicId == picId); } if (pic != null) { row = _pics.IndexOf(pic) + 1; var focusPic = new Position(row, _picPosition.Column); gridPic.Selection.Focus(focusPic, true); _picPosition = focusPic; } gridPic.Focus(); }