Отправка щелчка мыши на кнопку в silverlight 2

#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) .