Здравствуйте, у меня есть набор флажков, которые генерируются из исходного кода, а не в XAML. Теперь я хотел установить x:Name во время его создания, чтобы я мог перебирать каждый элемент с помощью FindByName. Я планировал установить имя, например, checkbox1, checkbox2, checkbox3...
Чтобы я мог использовать этот FindByName
foreach (var qaItem in question.Entity.QuestionAnswer)
{
(FindByName($"checkbox{qaItem.OrderNum}") as CheckBox).IsChecked = false;
}
Есть ли способ установить «x: Name» в источнике? так как количество флажков не определено.
X:Name на самом деле не является свойством, это просто помощник XAML, который используется для создания имени переменной C#. Если вы создаете элементы во время выполнения, вам необходимо поддерживать массив или список, чтобы отслеживать их.
Вы могли бы сделать что-то вроде этого
Dictionary<string,Checkbox> myCheckboxList = new Dictionary<string,Checkbox>();
Затем, когда вы создаете каждый флажок
var cb = new Checkbox();
... set properties, etc ...
myCheckboxList.Add(qaItem.OrderNum, cb);