private void InitImages() { // ConditionalFormatting C1BitmapIcon conditionalFormattingBitmapIcon = GetBitmapIcon("ConditionalFormatting"); if (!(conditionalFormattingBitmapIcon is null)) { _ribbonMenuFormatting.IconSet.Add(conditionalFormattingBitmapIcon); } // Columns C1BitmapIcon columnsBitmapIcon = GetBitmapIcon("Columns"); if (!(columnsBitmapIcon is null)) { _ribbonMenuColumns.IconSet.Add(columnsBitmapIcon); } // Filter C1BitmapIcon filterBitmapIcon = GetBitmapIcon("Filter"); if (!(filterBitmapIcon is null)) { _ribbonButtonFilter.IconSet.Add(filterBitmapIcon); } Icon appIcon = Properties.Resources.App; Icon = appIcon; }
protected override FrameworkElement CreateCellContent(GridCellType cellType, object cellContentType, GridRow row) { if (cellType != GridCellType.Cell) { return(base.CreateCellContent(cellType, cellContentType, row)); } var grid = new Grid(); grid.Margin = Grid.CellPadding; grid.ColumnDefinitions.Add(new ColumnDefinition() { Width = GridLength.Auto }); grid.ColumnDefinitions.Add(new ColumnDefinition()); var bitmapImage = new C1BitmapIcon() { Width = IconWidth, ShowAsMonochrome = ShowAsMonochrome, Margin = new Thickness(0, 0, 5, 0), VerticalAlignment = VerticalAlignment.Center }; var textBlock = new TextBlock() { VerticalAlignment = VerticalAlignment.Center }; System.Windows.Controls.Grid.SetColumn(textBlock, 1); grid.Children.Add(bitmapImage); grid.Children.Add(textBlock); return(grid); }
private void InitImages() { // ConditionalFormatting C1BitmapIcon conditionalFormattingBitmapIcon = GetBitmapIcon("ConditionalFormatting"); if (!(conditionalFormattingBitmapIcon is null)) { _ribbonMenuFormatting.IconSet.Add(conditionalFormattingBitmapIcon); } // Columns C1BitmapIcon columnsBitmapIcon = GetBitmapIcon("Columns"); if (!(columnsBitmapIcon is null)) { _ribbonMenuColumns.IconSet.Add(columnsBitmapIcon); } // Filter C1BitmapIcon filterBitmapIcon = GetBitmapIcon("Filter"); if (!(filterBitmapIcon is null)) { _ribbonButtonFilter.IconSet.Add(filterBitmapIcon); } // Export to Excel C1BitmapIcon excelIcon = GetBitmapIcon("Excel"); if (!(excelIcon is null)) { _exportToExcell.IconSet.Add(excelIcon); } // Export to Csv C1BitmapIcon csvIcon = GetBitmapIcon("Csv"); if (!(csvIcon is null)) { _exportToCsv.IconSet.Add(csvIcon); } // Export to Pdf C1BitmapIcon pdfIcon = GetBitmapIcon("Pdf"); if (!(pdfIcon is null)) { _exportToPdf.IconSet.Add(pdfIcon); } Icon appIcon = Properties.Resources.App; Icon = appIcon; }
private async void TrySetBitmapSource(C1BitmapIcon bitmapIcon, GridCellType cellType, GridRow row) { CacheBitmapSourceGetterFunction(); if (_imageSourceGetter == null) { bitmapIcon.Source = DefaultBitmapSource; return; } var value = _imageSourceGetter.Invoke(row.DataItem); if (value is ImageSource imageSource) { bitmapIcon.Source = imageSource; } else { var tag = Guid.NewGuid(); // In case the backspace button is pressed // the cell value will be null, and the DefaultBitmapSource // is a non-transparent renderable image, so image source is set to null to make // cell visually appear empty if (Grid.GetCellValue(cellType, row, this) == null) { bitmapIcon.Source = null; } else { bitmapIcon.Source = DefaultBitmapSource; } bitmapIcon.Tag = tag; try { Uri imageSourceUrl = value as Uri; if (value is string) { imageSourceUrl = new Uri(value as string); } var responseStream = await _httpClient.GetStreamAsync(imageSourceUrl); if (!(bitmapIcon.Tag is Guid) || ((Guid)bitmapIcon.Tag) != tag) { return; } var bitmapImage = new BitmapImage(); using (var memoryStream = new MemoryStream()) { await responseStream.CopyToAsync(memoryStream); if (!(bitmapIcon.Tag is Guid) || ((Guid)bitmapIcon.Tag) != tag) { return; } bitmapImage.BeginInit(); bitmapImage.CacheOption = BitmapCacheOption.OnLoad; bitmapImage.StreamSource = memoryStream; bitmapImage.EndInit(); bitmapImage.Freeze(); } bitmapIcon.Source = bitmapImage; } catch { } } }