динамически добавлять месяцы в виде столбцов сетки данных с помощью xaml

Я пытаюсь добавить предыдущие 12 месяцев в виде столбцов в Datagrid, но я как бы застрял. Я бы хотел, чтобы они отображались так:

Май 2014 г. Июнь 2014 г. Июль 2014 г. Август 2014 г.... Май 2015 г. в XAML, если это возможно. В июле т.е. будет июль 2014 г. август 2014 г. .... июль 2014 г.

На данный момент я достиг этого, используя код позади, но я хотел бы сделать это с помощью XAML.

var nameCol = new DataGridTextColumn();
nameCol.Heade = "Name";

for (int i = -12; i <= 0; i++)
        {
            var lastYearMonth = DateTime.Now.AddMonths(i).ToString("Y");
            var col = new DataGridTextColumn();
            col.Header =  lastYearMonth;
            col.Binding = new Binding("CategoryIncome");
            monthlyCategories.Columns.Add(col);
        }
var total = new DataGridTextColumn();
total.Header = "Total";

person Cristian    schedule 23.05.2015    source источник


Ответы (1)


Как правило, если вы хотите выразить какое-то поведение/логику в XAML без написания какого-либо кода, хорошим решением будет точно названное «поведение». См. это введение. Например.

Другой возможностью было бы создать строки месяцев в модели представления и использовать привязку данных для заголовка. Возможно, вам придется создать для этого специальный шаблон заголовка.

person Daniel Sklenitzka    schedule 25.05.2015