Форум программистов, компьютерный форум CyberForum.ru

Программирование Windows Phone

Войти
Регистрация
Восстановить пароль
 
ArcangelJonni
0 / 0 / 0
Регистрация: 17.05.2013
Сообщений: 64
#1

Обработчик события - определить вызывающий объект - Windows Phone

21.07.2015, 12:01. Просмотров 305. Ответов 9
Метки нет (Все метки)

вопрос такой - предположим, есть 2 кнопки
XML
1
2
3
4
5
6
<Button x:Name="button1" Content="button" Width="250" VerticalAlignment="Top"
        Margin="10,10,0,0" Click="button1_Click" HorizontalAlignment="Left"
         Height="80" Background="Blue"/>
<Button x:Name="button2" Content="button2" Width="250" VerticalAlignment="Top"
        Margin="10,100,0,0" Click="button1_Click" 
         Height="80" Background="Gray"/>
то есть обе кнопки имеют обработчик button1_Click . как сделать так, чтобы при нажатии на кнопку, она, например, меняла свой цвет? ну то есть возможно в обработчике как-то узнать , какой именно объект вызвал этот обработчик, чтоб применять изменения именно на вызывающего? пробовал как-то применить this , но что-то не вышло... буду благодарен за помощь =)
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
22703 / 14845 / 4262
Регистрация: 22.10.2011
Сообщений: 26,299
Записей в блоге: 4
21.07.2015, 12:09     Обработчик события - определить вызывающий объект #2
sender для этого и существует
ArcangelJonni
0 / 0 / 0
Регистрация: 17.05.2013
Сообщений: 64
21.07.2015, 12:15  [ТС]     Обработчик события - определить вызывающий объект #3
а как через него это сделать ? visual studio при вводе sender предлагает только sender.Equals, sender.GetHashCode, sender.GetType, sender.ToString, что из этого может помочь ? =D
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
22703 / 14845 / 4262
Регистрация: 22.10.2011
Сообщений: 26,299
Записей в блоге: 4
21.07.2015, 12:21     Обработчик события - определить вызывающий объект #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Привести sender к типу кнопки, и работать дальше:
C#
1
((Button)sender).BackColor = ...
Как-то так, у меня обычный Шарп под рукой сейчас...
ArcangelJonni
0 / 0 / 0
Регистрация: 17.05.2013
Сообщений: 64
21.07.2015, 13:46  [ТС]     Обработчик события - определить вызывающий объект #5
C#
1
 ((Button)sender).Background = new SolidColorBrush(Windows.UI.Colors.Green);
вот так получилось =)
огромное спасибо =) буду теперь знать, когда нибудь да поможет =)

Добавлено через 3 минуты
а если создавать кнопку не в xaml а динамически, как этой кнопке можно присвоить этот же обработчик?
например если создать такую кнопку :

C#
1
2
3
4
5
Button thirdButton = new Button();
thirdButton.Name = "ThirdButton";
thirdButton.Content = "Third button";
thirdButton.Margin = new Thickness(100, 200, 0, 0);
stack.Children.Add(thirdButton);
как к ней прикрепить то, что в xaml описывается так : Click="button1_Click"
krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
21.07.2015, 16:35     Обработчик события - определить вызывающий объект #6
C#
1
thirdButton.Click += button1_Click;
вам бы теории почитать, а потом в практику рваться
ArcangelJonni
0 / 0 / 0
Регистрация: 17.05.2013
Сообщений: 64
21.07.2015, 23:52  [ТС]     Обработчик события - определить вызывающий объект #7
есть такое... просто интересно что то было разобраться, немного непривычен для меня вообще C# и WP8.1 да и Visual Studio 2013... про события читал, как вы мне ответили, посмотрел и вспомнил, что было такое, но что-то в голове не отложилось видимо... спасибо ^_^
krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
22.07.2015, 09:21     Обработчик события - определить вызывающий объект #8
почитайте Рихтера, CLR via c#. да сложная книга, но очень полезная
ArcangelJonni
0 / 0 / 0
Регистрация: 17.05.2013
Сообщений: 64
23.07.2015, 10:14  [ТС]     Обработчик события - определить вызывающий объект #9
спасибо, посмотрю, что за книжка =) как только времени побольше освободится
а сейчас надо разбирать сериализацию на C# =)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.07.2015, 11:25     Обработчик события - определить вызывающий объект
Еще ссылки по теме:

Как написать обработчик нажатия? Windows Phone
"Для нестатического поля метода или свойства требуется ссылка на объект" Windows Phone
C# Обработчик события
Windows Phone Загрузить изображение из ресурсов в объект Image
JavaScript Обработчик события

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

Или воспользуйтесь поиском по форуму:
krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
23.07.2015, 11:25     Обработчик события - определить вызывающий объект #10
почитайте Рихтера, CLR via c#. да сложная книга, но очень полезная
Цитата Сообщение от ArcangelJonni Посмотреть сообщение
сериализацию на C#
особо не тратьте время, советую сразу посомтреть в сторону
Newtonsoft.Json.Net
Yandex
Объявления
23.07.2015, 11:25     Обработчик события - определить вызывающий объект
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru