Как сделать цикл for, который увеличивает конец имени моего WPF-изображения?

1

Я хочу сделать только некоторые из моих изображений видимыми, в зависимости от значения.

Когда вы вводите число в текстовое поле, например. 10 Я хочу, чтобы 10 изображений были видимыми.

Вот некоторые из моего кода, чтобы показать, что я имею в виду:

Одно из изображений с заданным именем:

<Image x:Name="Image_Number1" Source="{StaticResource ImageNo2}" Visibility="Collapsed" />

My for-loop, когда задано содержимое текстового поля (это часть, о которой интересно, что-то типа):

for (int i = 0; i < TextboxContent; i++)
{
     Image_Number(TextboxContent).Visibility = Visibility.Visible;
}

Конечно, строка Image_Number (TextboxContent).Visibility = Visibility.Visible; не компилируется.

Я хочу сделать его компиляцией таким образом, чтобы добавить TextboxContent в конец имени изображения.
Если значение моего текстового поля составляет 10, оно устанавливает видимость видимого изображения Image_Number1,2,3... 10.
Что было бы хорошим решением для этой проблемы? Любое предложение приветствуется, спасибо.

Теги:
for-loop
loops
wpf
visibility

1 ответ

1
Лучший ответ

Вы можете использовать метод FindName:

for (int i = 1; i <= TextboxContent; i++) {
 var img = FindName("Image_Number" + i) as FrameworkElement;
 if(img != null) img.Visibility = Visibility.Visible;
}
  • 0
    Примечание: for (int i = 1; i <= TextboxContent; i++) при выполнении от 1 до 10, а не от 0 до 9.
  • 0
    @JohnLBevan что ты имеешь в виду? основная идея не в цикле for, важнее всего использовать метод FindName . ОП должен понимать, каким должен быть TextBoxContent . Также я вижу, что в Image_Number0 OP есть имя Image_Number0 , но прямо под этим он произнес это Image_Number1,2,3...10 , так что, похоже, он просто что-то неправильно указал, но опять же важно использовать FindName .
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню