У меня есть строка, imgchng
и двадцать изображений, image1, image2, image3,
и т. Д.
Значение imgchng - это всегда имя одного из изображений.
Как установить значение параметратекущее изображение, на которое ссылается imgchng
?
Например, пользователь устанавливает значение imgchng
как image12
.Как бы я сказал image12
, чтобы источник изменился?
imgchng.Source = (source goes here);
не работает, потому что это установит свойство строки, а не изображения.
Я знаю, как установить источник изображения, но не знаю, как установить источник любого изображения,Строка относится к.
Мое намерение состоит в том, чтобы избежать огромного оператора if
длиной более 1000 строк, как в примере ниже:
if (textBlock2.Text == "First User Selection")
{
if (imgchng == "image1")
{
BitmapImage bmp = new BitmapImage(new Uri("/Images/FirstImg.png"));
image1.Source = bmp;
}
else if (imgchng == "image2")
{
BitmapImage bmp = new BitmapImage(new Uri("/Images/FirstImg.png"));
image2.Source = bmp;
}
//Continue this for all 20 images
}
else if (textBlock2.Text == "Second User Selection")
{
if (imgchng == "image1")
{
BitmapImage bmp = new BitmapImage(new Uri("/Images/SecondImg.png"));
image1.Source = bmp;
}
else if (imgchng == "image2")
{
BitmapImage bmp = new BitmapImage(new Uri("/Images/SecondImg.png"));
image2.Source = bmp;
}
//Continue this for all 20 images
}
else if (textBlock2.Text == "Third User Selection")
{
if (imgchng == "image1")
{
BitmapImage bmp = new BitmapImage(new Uri("/Images/ThirdImg.png"));
image1.Source = bmp;
}
else if (imgchng == "image2")
{
BitmapImage bmp = new BitmapImage(new Uri("/Images/ThirdImg.png"));
image2.Source = bmp;
}
//Continue this for all 20 images
}
else if (textBlock2.Text == "Fourth User Selection")
{
if (imgchng == "image1")
{
BitmapImage bmp = new BitmapImage(new Uri("/Images/FourthImg.png"));
image1.Source = bmp;
}
else if (imgchng == "image2")
{
BitmapImage bmp = new BitmapImage(new Uri("/Images/FourthImg.png"));
image2.Source = bmp;
}
//Continue this for all 20 images
}
По сути, япопытка сделать это, как сказал @ctacke, с учетом строки 'image1', как мне получить экземпляр элемента управления с именем 'image1'?