2 / 2 / 0
Регистрация: 22.12.2017
Сообщений: 115
WPF

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

05.05.2019, 11:40. Показов 22040. Ответов 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
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 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
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
23.05.2019, 16:02
Цитата Сообщение от Julia099 Посмотреть сообщение
скажите, а можно сделать так чтобы на одном этаже были одни точки, а на следующих этажах другие? А то у меня получается так что точки просто лежат и все
Конечно можно.
Но для этого надо связать этажи и точки.
О чём я Вам пишу уже давно.
Для каждого этажа должен быть свой список точек. И при смене этажа автоматически привязывается список точек этого этажа.
0
2 / 2 / 0
Регистрация: 22.12.2017
Сообщений: 115
23.05.2019, 20:15  [ТС]
Элд Хасп,
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Но для этого надо связать этажи и точки.
Это получается мне нужно создавать еще одну таблицу? У меня смотрите как: есть таблицы Помещения и Кабинеты и там прописаны координаты.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
23.05.2019, 20:36
Цитата Сообщение от Julia099 Посмотреть сообщение
У меня смотрите как: есть таблицы Помещения и Кабинеты и там прописаны координаты.
А в этой таблице есть этажи?
Как устанавливается связь с этажами?
0
2 / 2 / 0
Регистрация: 22.12.2017
Сообщений: 115
24.05.2019, 08:26  [ТС]
Элд Хасп,
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Как устанавливается связь с этажами?
Этажи связаны с Помещениями и Кабинетами
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
24.05.2019, 09:26
Цитата Сообщение от Julia099 Посмотреть сообщение
Этажи связаны с Помещениями и Кабинетами
Из этой таблицы можно вытащить координаты точек связанные именно с конкретным этажом?
0
2 / 2 / 0
Регистрация: 22.12.2017
Сообщений: 115
24.05.2019, 10:54  [ТС]
Элд Хасп,
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Из этой таблицы
Их 2. Они разделены.
Цитата Сообщение от Элд Хасп Посмотреть сообщение
можно вытащить координаты точек связанные именно с конкретным этажом?
Да, я же говорю там прописаны координаты и номера этажей
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 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
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 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
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 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
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 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
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 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
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru