Установка значения изображения с помощью строки - PullRequest
0 голосов
/ 28 мая 2011

У меня есть строка, 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'?

Ответы [ 2 ]

2 голосов
/ 28 мая 2011

Объявление массива BitmapImage из 20 изображений.Свяжите это с пользовательским интерфейсом.Примите выбор пользователя как целое число.Получите доступ к изображению из массива, используя индекс (очевидно, пользовательский ввод -1). Измените источник этого изображения.Решает ли это вашу проблему?

0 голосов
/ 28 мая 2011


Чтобы установить источник изображения, вы должны сделать следующее.

<code>
BitmapImage bmp=new BitmapImage(new Uri("your image name will go here"));
image.Source=bmp;

Надеюсь, это поможет.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...