Ejemplo n.º 1
0
        private void CreateColumnsFrom(IEnumerable <string> keys)
        {
            foreach (var key in keys)
            {
                if (!Grid.Columns.Any(c => c.Header.Equals(key)))
                {
                    var expression   = string.Format(ColumnsFormat, key);
                    var binding      = new Binding(expression);
                    var cellTemplate = new DataTemplate();
                    FrameworkElementFactory cbFactory = new FrameworkElementFactory(typeof(CheckBox));
                    cbFactory.SetBinding(CheckBox.IsCheckedProperty, binding);
                    cellTemplate.VisualTree = cbFactory;

                    var column = new GridViewColumn()
                    {
                        Header       = key,
                        CellTemplate = cellTemplate
                    };
                    SetColumnId(column, key);
                    SortBehavior.SetSortExpression(column, expression);
                    Grid.Columns.Add(column);
                }
            }
        }