2015-05-23 4 views
0

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

май 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"; 

ответ

0

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

Другая возможность - создать месячные строки в модели представления и использовать привязку данных для заголовка. Возможно, вам понадобится создать special header template.

Смежные вопросы