![]() |
Модераторы: gambit, Kefir, Partizan |
![]() ![]() ![]() |
|
CasperSC |
|
||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 27.11.2009 Репутация: 1 Всего: 1 |
Здравствуйте. Возникла ещё одна проблема при переносе приложения на WPF. Если в WinForms можно сделать так:
Далее в другом участке кода:
А вот в WPF пробую почти также сделать, но не в какую не хочет:
На этой строке происходит ошибка, не дающая скомпилировать проект: this.btnSelectMusicFile_Click(this.btnPlayStop, RoutedEventArgs.Empty); Первая ошибка: Ошибка 1 Наиболее подходящий перегруженный метод для "MyProgramName.WindowAdd.btnSelectMusicFile_Click(object, System.Windows.RoutedEventArgs)" имеет несколько недопустимых аргументов D:\Программирование\C# - Visual Studio 2010\MyProgramName - WPF\MyProgramName\WindowAdd.xaml.cs 416 33 MyProgramName Вторая ошибка: Ошибка 2 Аргумент "2": преобразование типа из "System.EventArgs" в "System.Windows.RoutedEventArgs" невозможно D:\Программирование\C# - Visual Studio 2010\MyProgramName - WPF\MyProgramName \WindowAdd.xaml.cs 416 81 MyProgramName Не понимаю, почему не получается, перепробовал множество вариантов методом тыка, ничего не помогло. Это сообщение отредактировал(а) CasperSC - 24.7.2010, 00:33 |
||||||
|
|||||||
KelTron |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 745 Регистрация: 8.10.2006 Где: Красноярск Репутация: 2 Всего: 38 |
Ну во-первых никакое событие здесь не вызывается, просто вызывается метод, прикрученный к событию. Во-вторых так делать изврат. Перенеси весь этот код в отдельный метод и вызывай откуда хочешь. Изменяем это
На это
Если нужно добавь параметры. -------------------- Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог. Эвенгар Салладорский, основатель Школы Тьмы. |
||||||
|
|||||||
CasperSC |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 27.11.2009 Репутация: 1 Всего: 1 |
Ну вообще может и изврат. Я знаю, что можно отдельным методом, я так и сделал, так как ответа на этот вопрос сразу не нашёл. А вообще подсказали уже, что можно так:
Если сравнить с кодом в первом посту то отличие становится очевидным. |
|||
|
||||
KelTron |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 745 Регистрация: 8.10.2006 Где: Красноярск Репутация: 2 Всего: 38 |
Зачем вообще мудрить с этими параметрами, ты ведь всё равно их не используешь.
-------------------- Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог. Эвенгар Салладорский, основатель Школы Тьмы. |
|||
|
||||
Kefir |
|
|||
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: 22 Всего: 87 |
Если совсем строго по теме:
1. Тип RoutedEventArgs.Empty - EventArgs. То биш типы разные. Уж не знаю зачем так и почему не исправили, но это факт. Поэтому правильно тебе говорят, что тип аргумента неправильный. 2. Для вызова эвентов контрола можно использовать красивую функцию UIElement.RaiseEvent(RoutedEventArgs). Ну тут будет та же проблема, если туда вставить RoutedEventArgs.Empty (см. п.1) |
|||
|
||||
CasperSC |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 27.11.2009 Репутация: 1 Всего: 1 |
Опс. Я тут не отписался. Сори, просто много где этот вопрос задал. Вообще разобрался. Я не знал, что можно просто указать null. А вообще обычно я указываю кто sender, а уже в обработчике в зависимости от того кто sender делается то-то и не во всех случаях удобно использовать просто отдельный метод.
Не много не по теме: Кто собрался переписывать приложение с WinForms на WPF в первые в своей жизни, ждите не малых трудностей. (не удержался этого не написать) Это сообщение отредактировал(а) CasperSC - 3.8.2010, 23:16 |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |