Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.93/104: Рейтинг темы: голосов - 104, средняя оценка - 4.93
2 / 2 / 0
Регистрация: 22.12.2017
Сообщений: 115
WPF

Смена картинки при клике на кнопку

05.05.2019, 11:40. Показов 21891. Ответов 80
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, уважаемые форумчане! У меня возникла проблема, которую я не знаю как решить) Дело в том, что мне нужно, чтобы при клике на соответствующую кнопку менялась на соответствующую картинку. Выручайте, я просто не знаю к кому еще обратиться!
Вот код:
XML
1
2
3
4
<Image x:Name="img" HorizontalAlignment="Left" Height="449" Margin="10,10,0,0" VerticalAlignment="Top" Width="606" Source="Res/1_2k6_1.jpg"/>
<Button x:Name="floor1" Content="Этаж 1" HorizontalAlignment="Left" Margin="43,520,0,0" VerticalAlignment="Top" Width="107" Height="70" Click="Floor1_Click"/>
        <Button x:Name="floor2" Content="Этаж 2" HorizontalAlignment="Left" Margin="193,513,0,0" VerticalAlignment="Top" Width="107" Height="72" Click="Floor2_Click"/>
        <Button x:Name="floor3" Content="Этаж 3" HorizontalAlignment="Left" Margin="347,508,0,0" VerticalAlignment="Top" Width="107" Height="82" Click="Floor3_Click"/>
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  private void Floor1_Click(object sender, RoutedEventArgs e)
        {
            img.Source = new BitmapImage(new Uri("Res/1_2k6_1.jpg", UriKind.Absolute));
        }
 
        private void Floor2_Click(object sender, RoutedEventArgs e)
        {
            img.Source = new BitmapImage(new Uri("Res/1_2k6_2.jpg", UriKind.Absolute));
        }
 
        private void Floor3_Click(object sender, RoutedEventArgs e)
        {
            img.Source = new BitmapImage(new Uri("Res/1_2k6_3.jpg", UriKind.Absolute));
        }
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.05.2019, 11:40
Ответы с готовыми решениями:

Смена картинки при клике на кнопку JS
Нужно сделать кнопку и при клике на нее имеет измениться картинка(img_1) на картинку(img_2).В просторах интернета нашелся вот такой код: ...

Смена картинки при клике+
Можно ли сделать кнопку на картинке, что бы при клике менялось на другую картинку? Объясните если не трудно для чайника.

Смена картинки при клике (плейлист)
Привет всем. Делаю сайт с музыкой. Нужно реализовать кнопку &quot;STOP&quot; и &quot;PLAY&quot;. Т.е. Выводится списком в табличном варианте 10-20 песен,...

80
2 / 2 / 0
Регистрация: 22.12.2017
Сообщений: 115
19.05.2019, 09:55  [ТС]
Студворк — интернет-сервис помощи студентам
Элд Хасп,
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Выводить удобнее в ListBox так как его можно настроить на вывод элементов-фигур по координатам.
Хорошо, такой вариант меня устраивает
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Дело не в том, чем выводить этот список, а в том есть ли он у Вас?
Есть, если можно вывести из базы в ListBox
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
19.05.2019, 10:13
Цитата Сообщение от Julia099 Посмотреть сообщение
Есть, если можно вывести из базы в ListBox
Из БД надо получить этот список в Model.
Оттуда его сможет получить VM и записать в своё свойство. А к этому свойству в View будет привязан ListBox.ItemsSource.
Сам ListBox будет настроен на визуализацию этого списка как заданных фигур по координатам из списка.
0
2 / 2 / 0
Регистрация: 22.12.2017
Сообщений: 115
23.05.2019, 14:25  [ТС]
Элд Хасп, скажите, а можно сделать так чтобы на одном этаже были одни точки, а на следующих этажах другие? А то у меня получается так что точки просто лежат и все
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
23.05.2019, 16:02
Цитата Сообщение от Julia099 Посмотреть сообщение
скажите, а можно сделать так чтобы на одном этаже были одни точки, а на следующих этажах другие? А то у меня получается так что точки просто лежат и все
Конечно можно.
Но для этого надо связать этажи и точки.
О чём я Вам пишу уже давно.
Для каждого этажа должен быть свой список точек. И при смене этажа автоматически привязывается список точек этого этажа.
0
2 / 2 / 0
Регистрация: 22.12.2017
Сообщений: 115
23.05.2019, 20:15  [ТС]
Элд Хасп,
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Но для этого надо связать этажи и точки.
Это получается мне нужно создавать еще одну таблицу? У меня смотрите как: есть таблицы Помещения и Кабинеты и там прописаны координаты.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
23.05.2019, 20:36
Цитата Сообщение от Julia099 Посмотреть сообщение
У меня смотрите как: есть таблицы Помещения и Кабинеты и там прописаны координаты.
А в этой таблице есть этажи?
Как устанавливается связь с этажами?
0
2 / 2 / 0
Регистрация: 22.12.2017
Сообщений: 115
24.05.2019, 08:26  [ТС]
Элд Хасп,
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Как устанавливается связь с этажами?
Этажи связаны с Помещениями и Кабинетами
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
24.05.2019, 09:26
Цитата Сообщение от Julia099 Посмотреть сообщение
Этажи связаны с Помещениями и Кабинетами
Из этой таблицы можно вытащить координаты точек связанные именно с конкретным этажом?
0
2 / 2 / 0
Регистрация: 22.12.2017
Сообщений: 115
24.05.2019, 10:54  [ТС]
Элд Хасп,
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Из этой таблицы
Их 2. Они разделены.
Цитата Сообщение от Элд Хасп Посмотреть сообщение
можно вытащить координаты точек связанные именно с конкретным этажом?
Да, я же говорю там прописаны координаты и номера этажей
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
24.05.2019, 10:58
Цитата Сообщение от Julia099 Посмотреть сообщение
Да, я же говорю там прописаны координаты и номера этажей
Ну, тогда же при выборе этажа Вы же можете создать список точек именно этого этажа.
В чём проблема?
0
2 / 2 / 0
Регистрация: 22.12.2017
Сообщений: 115
25.05.2019, 07:10  [ТС]
Элд Хасп,
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Ну, тогда же при выборе этажа Вы же можете создать список точек именно этого этажа.
В чём проблема?
Проблема в том, что у меня в ListBox не показывается список с координатами, там показываются строчки и там написано "System.Data.DataRowView". Как исправить?
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
25.05.2019, 09:17
Цитата Сообщение от Julia099 Посмотреть сообщение
Проблема в том, что у меня в ListBox не показывается список с координатами, там показываются строчки и там написано "System.Data.DataRowView". Как исправить?
Все WPF элементы без шаблона данных используют по умолчанию в шаблоне TextBlock. TextBlock по умолчанию отображает для типа значение возвращаемое методом ToString.

Поэтому Вам надо или переопределить для System.Data.DataRowView метод ToString. Или задать шаблон данных для типа System.Data.DataRowView в свойстве ListBox.ItemTemplate.

Добавлено через 5 минут
Как выводить фигуры через список ListBox посмотрите в темах:
Массив элементов управления WPF
Привязка координат одного Shape относительно другого
0
2 / 2 / 0
Регистрация: 22.12.2017
Сообщений: 115
25.05.2019, 12:58  [ТС]
Элд Хасп,
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Поэтому Вам надо или переопределить для System.Data.DataRowView метод ToString.
У меня теперь получился массив из букв. Вот мой код посмотрите, что не так
C#
1
2
3
4
5
6
7
8
9
10
11
SqlConnection Connection = new SqlConnection(@"Data Source=DESKTOP-I3HCQMQ\SQLEXPRESS;Initial Catalog = project;Integrated Security = True");
                Connection.Open();
                string sql = "SELECT * FROM Кабинеты";
                using (SqlCommand Command = new SqlCommand(sql, Connection))
                {
                    DataTable dat = new DataTable();
                    SqlDataAdapter sqlDa = new SqlDataAdapter(Command);
                    sqlDa.Fill(dat);
                    list1.ItemsSource = dat.AsDataView().ToString();
                    Connection.Close();
                }
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
25.05.2019, 14:00
Цитата Сообщение от Julia099 Посмотреть сообщение
У меня теперь получился массив из букв. Вот мой код посмотрите, что не так

У Вас с C# совсем плохо?

Почитайте https://stackoverflow.com/ques... ct-with-li

Добавлено через 1 минуту
Вот тема с реализацией шаблона DataGrid/ListBox с Binding OneWay к DataTable. Как привязать не понимаю ?
0
2 / 2 / 0
Регистрация: 22.12.2017
Сообщений: 115
25.05.2019, 14:18  [ТС]
Элд Хасп,
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Я не могу понять, что за Debug и откуда он взялся. Там про него ничего не написано. Что он из себя может представлять?
C#
1
2
3
4
5
6
7
8
9
10
11
private void PopulateNames()
{
    using (connection = new SqlConnection(connection_string))
    using (SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM namesTable", connection))
    {
        DataTable namesTable = new DataTable();
        adapter.Fill(namesTable);
        Debug.Write(namesTable.AsDataView());
        DataContext = namesTable.AsDataView();
    }
}
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
25.05.2019, 15:45
Цитата Сообщение от Julia099 Посмотреть сообщение
Я не могу понять, что за Debug и откуда он взялся.
ОН Вам не нужен это промежуточный вывод для отладки.
Суть в том что у Вас в списке источника данных находится таблица. И каждая строка этой таблицы - набор данных.
И надо "объяснить" ListBox как этот набор выводить.
Можно это задать в коде или в XAML.

Я конкретно так с ходу не могу Вам дать точного ответа.
Для этого надо запускать Ваш проект и смотреть, что там в таблице находится и как это вывести в ListBox.
Просто посмотрев код я сказать не могу. Нет достаточного опыта работы с базами и таблицами.

Если чуть позже - могу по TeamViewer напрямую у Вас посмотреть.
Если да - напишите в личку.
0
2 / 2 / 0
Регистрация: 22.12.2017
Сообщений: 115
25.05.2019, 21:57  [ТС]
Элд Хасп, давайте я вам скину проект, чтоб вы посмотрели?
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
25.05.2019, 22:02
Цитата Сообщение от Julia099 Посмотреть сообщение
давайте я вам скину проект, чтоб вы посмотрели?
Давайте.
БД - будет работать?
0
2 / 2 / 0
Регистрация: 22.12.2017
Сообщений: 115
26.05.2019, 08:25  [ТС]
Элд Хасп,
Цитата Сообщение от Элд Хасп Посмотреть сообщение
БД - будет работать?
Да, БД работает отлично.
Вложения
Тип файла: rar Project.rar (11.12 Мб, 2 просмотров)
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
26.05.2019, 13:17
Цитата Сообщение от Julia099 Посмотреть сообщение
Да, БД работает отлично.
Это у Вас.
При Вашей конфигурации.
У меня сервер не развёрнут и запустить Ваш проект не получается.

Лучше по TeamViewer соединиться.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.05.2019, 13:17

Смена картинки при клике на ссылку
Есть код смены картинки: &lt;script type=&quot;text/javascript&quot;&gt; var index = 0; var links = new Array ( ...

Смена картинки при нажатии на кнопку
Помогите в кодах записать. Что бы при нажатий на кнопку менялась картинка картинки т.е C# 1- Кнопка стоит нормально 2- При наведении...

Смена картинки при нажатии на кнопку
Как можно сдлеать что бы при нажатии на кнопку сначала была одна картинка при нажать второй раз другая и т.д.

Первые шаги в JQuery (смена backgorun-image url другого елемента при клике на кнопку)
Здравствуйте. Только только начал учить js для верстки. Добавил в документ jQery и захотел сделать меняющийся слайд при клике на кнопку....

Смена картинки в PictureBox при нажатии на кнопку
Help my!!! Хочу при нажатии на кнопку менять картинку в PictureBox. Пробую так: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
ИИ и человечность
kumehtar 21.07.2026
Забавно, что общаясь с ИИ, я замечаю, насколько он высказывается умно, и насколько верит в людей. Он умеет прощать. Он знает как отвечать не обесценивая опыт других людей, даже если сам не верит. Он. . .
Нейтральные знания ..., ... чистая наука. Пока что-то проходит модерацию на Хабре, стоит развить мысль ...
Hrethgir 20.07.2026
К таким радикальным взглядам я конечно в той публикации не приходил, но чтобы скоротать вечер, решил углубиться немного. 1. Почему показания термометра заряжены целью? Цель заложена в самом. . .
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения. https:/ / habr. com/ ru/ sandbox/ 295048/ По ссылке 403. Не очень информативно такую ссылку постить. Запись от Usaga размещена Сегодня в 06:46 . . .
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru