Я хочу сделать только некоторые из моих изображений видимыми, в зависимости от значения.
Когда вы вводите число в текстовое поле, например. 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.
Что было бы хорошим решением для этой проблемы? Любое предложение приветствуется, спасибо.
Вы можете использовать метод FindName
:
for (int i = 1; i <= TextboxContent; i++) {
var img = FindName("Image_Number" + i) as FrameworkElement;
if(img != null) img.Visibility = Visibility.Visible;
}
for (int i = 1; i <= TextboxContent; i++)
при выполнении от 1 до 10, а не от 0 до 9.FindName
. ОП должен понимать, каким должен бытьTextBoxContent
. Также я вижу, что вImage_Number0
OP есть имяImage_Number0
, но прямо под этим он произнес этоImage_Number1,2,3...10
, так что, похоже, он просто что-то неправильно указал, но опять же важно использоватьFindName
.