public object AddColumn(ListViewColumn col) { var column = new GridViewColumn(); column.CellTemplate = new DataTemplate { VisualTree = CellUtil.CreateBoundColumnTemplate(Context, Frontend, col.Views) }; if (col.HeaderView != null) { column.HeaderTemplate = new DataTemplate { VisualTree = CellUtil.CreateBoundCellRenderer(Context, Frontend, col.HeaderView) } } ; else { column.Header = col.Title; } this.view.Columns.Add(column); MapColumn(col, column); return(column); }
private DataTemplate GetDataTemplate(IList <CellView> views) { var template = new DataTemplate(typeof(object[])); FrameworkElementFactory root; if (views.Count > 1) { FrameworkElementFactory spFactory = new FrameworkElementFactory(typeof(StackPanel)); spFactory.SetValue(StackPanel.OrientationProperty, WindowsOrientation.Horizontal); foreach (var view in views) { spFactory.AppendChild(CellUtil.CreateBoundCellRenderer(view)); } root = spFactory; } else { root = CellUtil.CreateBoundCellRenderer(views [0]); } template.VisualTree = root; return(template); }
public void UpdateColumn(ListViewColumn col, object handle, ListViewColumnChange change) { var column = (GridViewColumn)handle; column.CellTemplate = new DataTemplate { VisualTree = CellUtil.CreateBoundColumnTemplate(Context, Frontend, col.Views) }; if (col.HeaderView != null) { column.HeaderTemplate = new DataTemplate { VisualTree = CellUtil.CreateBoundCellRenderer(Context, Frontend, col.HeaderView) } } ; else { column.Header = col.Title; } }