У меня есть 32 флажка на моем XAML. Я хочу проверить, какие из них выбраны пользователем.wpf logicy group controls
Есть ли способ группировать эти элементы управления и перебирать их, поэтому я могу избежать 32-х, если иное решение. Таким образом, вместо этого:
private List<int> GetSelectedPositions()
{
List<int> SelectedPositions = new List<int>();
if (CheckBoxPos1.IsChecked == true)
{
SelectedPositions.Add(1);
}
else if (CheckBoxPos2.IsChecked == true)
{
SelectedPositions.Add(2);
}
//(...)
else if (CheckBoxPos32.IsChecked == true)
{
SelectedPositions.Add(2);
}
return SelectedPositions;
}
Что-то вроде этого:
private List<int> GetSelectedPositions()
{
List<int> SelectedPositions = new List<int>();
foreach (var item in collection)
{
if (item.IsChecked) { SelectedPositions.Add(item.position) }
}
return SelectedPositions;
}
Создайте список bools в вашей модели просмотра. Привяжите этот список к элементу управления и используйте флажок в качестве шаблона элемента. – poke
@poke Почему вы не добавляете это в качестве ответа? как текст водяного знака в поле комментария говорит * Избегайте отвечать на вопросы в комментариях. * – Default
@Default Потому что у меня не было достаточно времени для написания больше. И это одно не ответ. – poke