public override FrameworkElement CreateCellElement(GridViewCell cell, object dataItem) { TextBlock tb = new TextBlock(); tb.SetBinding(TextBlock.TextProperty, new Binding(this.DataMemberBinding.Path.Path) { Converter = new MyConverter() }); return tb; }
public override FrameworkElement CreateCellElement(GridViewCell cell, object dataItem) { var textBlock = cell.Content as TextBlock ?? new TextBlock(); textBlock.Text = string.Format("{0}", DataControl.Items.IndexOf(dataItem) + 1 + DataControl.Items.PageSize * DataControl.Items.PageIndex); textBlock.Foreground = new SolidColorBrush(Colors.Black); textBlock.TextAlignment = TextAlignment.Center; return textBlock; }
public override FrameworkElement CreateCellElement(GridViewCell cell, object dataItem) { var radioButton = new RadioButton { Margin = new Thickness(3.0, 0.0, 3.0, 0.0) }; if (DataMemberBinding != null) radioButton.SetBinding(ToggleButton.IsCheckedProperty, DataMemberBinding); radioButton.Checked += RadioButtonChecked; return radioButton; }
public override FrameworkElement CreateCellEditElement(GridViewCell cell, object dataItem) { var editor = new CustomCaptainEditor(); editor.SetBinding(CustomCaptainEditor.CaptainNameProperty, CreateBinding(string.Format("{0}.Name", this.DataMemberBinding.Path.Path))); editor.SetBinding(CustomCaptainEditor.CaptainPositionProperty, CreateBinding(string.Format("{0}.Position", this.DataMemberBinding.Path.Path))); return editor; }
static bool IsTextTrimmed(GridViewCell cell) { Typeface typeface = new Typeface(cell.FontFamily, cell.FontStyle, cell.FontWeight, cell.FontStretch); FormattedText formmatedText = new FormattedText( cell.Value.ToString(), System.Threading.Thread.CurrentThread.CurrentCulture, cell.FlowDirection, typeface, cell.FontSize, cell.Foreground); return formmatedText.Width > cell.ActualWidth; }
public override System.Windows.FrameworkElement CreateCellElement(GridViewCell cell, object dataItem) { var element = base.CreateCellElement(cell, dataItem); if (buildIdentifierFromCell == null) return element; string metricIdentifier = buildIdentifierFromCell(cell); IEnumerable<string> members = (dataItem as RadDataRow).GetDynamicMemberNames(); if (members.Contains(metricIdentifier)) { Metric metric = (dataItem as RadDataRow)[metricIdentifier] as Metric; element.DataContext = metric; } else { element.DataContext = new Metric("none", null, "Black"); } return element; }
public override FrameworkElement CreateCellElement(GridViewCell cell, object dataItem) { StringBuilder sb = new StringBuilder(); foreach (string workingDay in ((Person)dataItem).WorkingDays) { sb.AppendFormat("{0}, ", workingDay); } if (sb.Length > 0) { sb.Remove(sb.Length - 2, 2); } TextBlock textBlock = (TextBlock)base.CreateCellElement(cell, dataItem); textBlock.Text = sb.ToString(); return textBlock; }
/// <summary> /// Generate cell fields by columns /// </summary> private void GenerateFields() { // Get top parent control that have Columns, because we cant bind it from XAML DataTemplate GridView gridView = TreeHelper.FindVisualParent<GridView>(this); if (gridView == null) { return; } if (gridView.Columns == null || gridView.Columns.Count == 0) { return; } this.Margin = new Thickness(0, gridView.RowSpacing, 0, 0); for (int i = 0; i < gridView.Columns.Count; i++) { double columnWidth = gridView.Columns[i].Width; this.rootElement.ColumnDefinitions.Add(new ColumnDefinition()); GridViewCell lastCell = new GridViewCell() { Content = gridView.Columns[i].GetGeneratedContent(), Margin = new Thickness(gridView.CellSpacing, 0, 0, 0) }; if (lastCell != null) { if (columnWidth > 0) { this.rootElement.ColumnDefinitions[i].SetValue(ColumnDefinition.WidthProperty, new GridLength(columnWidth)); //// lastCell.Width = columnWidth; gridView.ResizeColumn(i, columnWidth); } lastCell.SetValue(Grid.ColumnProperty, this.rootElement.ColumnDefinitions.Count - 1); this.rootElement.Children.Add(lastCell); lastCell.SetBinding(GridViewCell.IsSelectedProperty, new Binding("IsSelected") { Source = this }); } } }