Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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;
            }
        }