Здесь я вижу две отдельные проблемы:
1 - проблема с данными. Разбор файла xml и извлечение необходимых данных в отдельный список или словарь.
2 - интерфейс пользователя. Создание серии.флажков, основанных на выводе проблемы с данными.
Сначала вы должны отделить проблему данных от пользовательского интерфейса.В цикле foreach создайте список объектов.Объект должен иметь по крайней мере строковое свойство для отображения и логическое свойство для флажка, к которому необходимо привязаться.
Во-вторых, в вашем пользовательском интерфейсе создайте ItemsControl (например, ListBox) и привяжите его ItemsSource кПриведенный выше список, затем установите ItemTemplate на DataTemplate, содержащий CheckBox
<ListBox ItemsSource="{Binding Path=SomeList}">
<ListBox.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding Path=DisplayString}" IsChecked="{Binding Path=Selected}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
После того, как пользователь завершит проверку / снятие отметки с списка, у вас останется список, в который можно записать свои текстовые строки в файл.
Есть несколько концепций, которые вы должны изучить при работе с WPF, вероятно, сложнее всего разобраться с разделением проблем между пользовательским интерфейсом и данными, а также с тем, как уровень данных может служить основой для создания пользовательского интерфейса.элементы для вас.Не должно быть необходимости создавать новые флажки в коде, используя эту технику.
Кроме того, вам лучше не связываться напрямую со словарем (хотя это возможно ), но вы должны использоватьObservableCollection в качестве вашего ItemsSource будет обрабатывать уведомления об изменениях в пользовательском интерфейсе для вас.