#silverlight #events
Вопрос:
В приложении silverlight есть кнопка управления . Могу ли я отправить ему событие щелчка мыши программно?
Ответ №1:
Если ты все еще хочешь это сделать. Теперь вы можете перейти на Silverlight версии 3.0 или более поздние версии и выполнить следующие действия:
Вы можете использовать кнопку «Автоматизация» из системы.Windows.Автоматизация.Коллеги, чтобы добиться того, чего вы хотите.
if (button is Button)
{
ButtonAutomationPeer peer = new ButtonAutomationPeer((Button)button);
IInvokeProvider ip = (IInvokeProvider)peer;
ip.Invoke();
}
Ответ №2:
Вы не можете запустить событие щелчка по соображениям безопасности, потому что тогда вы сможете заставить пользователя перейти в полноэкранный режим без его ведома. Как сказал Оли, вы можете напрямую вызвать обработчик события щелчка, но на самом деле вы не можете запустить событие щелчка.
Ответ №3:
Классический способ сделать это в .Net должен P/Вызвать SendInput() из user32.dll, так как нет никакого способа сделать это с помощью .Сетевая структура.
Я не знаком с Silverlight, но знаю, что он использует компактную песочницу типа А.Сеть, поэтому, если совместимость доступна, вы найдете множество примеров в Интернете.
Ответ №4:
У меня на странице есть кнопки для операций CRUD, после сохранения, удаления или обновления мне нужно обновить данные в сетке данных, самым простым способом было отправить событие щелчка на кнопку «Прочитать», из других кнопок CRUD
Этот код запускает это событие:
private void btnSave_Click(object sender, RoutedEventArgs e)
{
//.....Save Operation
//--At Finish refresh the datagrid
btnRead_Click(btnRead, new RoutedEventArgs());
}
Ответ №5:
Попробуйте использовать одноранговые узлы автоматизации (если вам абсолютно необходимо сделать это программно).
http://www.vbdotnetheaven.com/UploadFile/dbeniwal321/TriggerEvent01232009020637AM/TriggerEvent.aspx имеет образец с использованием vb.net
Идеальным способом было бы иметь общую функцию, которая вызывается как из обработчика нажатия кнопки, так и в других случаях, когда это необходимо
Ответ №6:
Я не использовал Silverlight, но предполагаю, что это тот же процесс, что и Windows.Формы и веб-элементы управления. Вам просто нужно будет вызвать метод кнопки .Click(Object o, EventArgs e)
.