Что такое "генерация" флажков? Вы должны использовать ItemsControl (или подкласс) и привязать к нему данные, которые представляют флажки. Предполагая, что вы делаете это, вы хотите, чтобы ItemsControl использовал «виртуализацию», применяя свойство VirtualizingStackPanel.IsVirtualizing к ItemsControl следующим образом:
<ItemsControl VirtualizingStackPanel.IsVirtualizing="true" ... >
Возможно, вы также захотите включить «переработку контейнеров», что также повысит производительность. Это также делается с помощью прикрепленного свойства:
<ItemsControl VirtualizingStackPanel.VirtualizationMode="Recycling" ... >