2016-08-19 6 views
1

У меня есть файл cs для элемента Drop drop. В методе после завершения кавычки (OnManipulationCompleted) я хотел бы инициировать/запускать 3 нажатия кнопки с другой страницы WPF, которая имеет 3 кнопки в методе OnManipulationCompleted.Как инициировать нажатие кнопки другой страницы в методе из другого cs-файла

namespace KinectDemos 
{ 
    public class DragDropElementController : IKinectManipulatableController 
    { 
     private ManipulatableModel _inputModel; 
     private KinectRegion _kinectRegion; 
     private DragDropElement _dragDropElement; 
     private bool _disposedValue; 

     public DragDropElementController(IInputModel inputModel, KinectRegion kinectRegion) 
     { 
      _inputModel = inputModel as ManipulatableModel; 
      _kinectRegion = kinectRegion; 
      _dragDropElement = _inputModel.Element as DragDropElement; 

      _inputModel.ManipulationStarted += OnManipulationStarted; 
      _inputModel.ManipulationUpdated += OnManipulationUpdated; 
      _inputModel.ManipulationCompleted += OnManipulationCompleted; 
     } 

     private void OnManipulationCompleted(object sender, 
      KinectManipulationCompletedEventArgs kinectManipulationCompletedEventArgs) 
     {**HERE I WOULD LIKE TO INITIATE THE BUTTON CLICKS** 
     } 

Другая страница Wpf, которая имеет следующие кнопки, имеющие функцию для трех кнопок .После падение было бы перейти на другую страницу, каждая кнопка.

Public partial class Beauty : Usercontrol 
{ 
    Public void Tip_Click (object sender, RoutedEventArgs e) 
    { 
    Afterdrop page1 = new Afterdrop 
    this.content = page1; 
    } 

    Public void Tricks_Click (object sender, RoutedEventArgs e) 
    { 
    Afterdrop2 page2 = new Afterdrop2 
    this.content = page2; 
    } 

    Public void Invent_Click (object sender, RoutedEventArgs e) 
    { 
    Afterdrop3 page3 = new Afterdrop3 
    this.content = page3; 
    } 


} 

Как это сделать? Пожалуйста, помогите

ответ

1

Вы должны иметь экземпляр страницы, которую вы хотите, чтобы вызвать события на. Если эта страница существует, вы можете получить этот экземпляр на основе архитектуры приложения, иначе нет возможности вызвать нестатические элементы без создания экземпляра объекта.

Как только вы получите экземпляр этой страницы, вызовите соответствующие обработчики событий как методы. В качестве примера, если этот экземпляр назван targetPage, то

targetPage.Tip_Click(null, new EventArgs()); 
+0

Спасибо. Я могу вызвать Tip_Click. Но он не запускает клик автоматически после завершения кавычки. Мы должны по-прежнему нажать на кнопку. Я поставил точку останова на targetPage.Tip_Click (null, new EventArgs()); чтобы проверить, входит ли он в Tip_CLick. Он входит, но не выполняет функции. PerformCLick() Не работает для меня. Как сделать работу щелчка автоматически. –

+0

Sorryy PerformClick был в классе кнопок другого пространства имен. он не будет работать для u..i отредактирует ответ .. но выполнение обработчика события без фактического нажатия кнопки не будет достаточным для вашей потребности? Что он пропустил? –

+0

Хорошо .. я попробовал это. Надеюсь, этого хватит ур нужно 'button.RaiseEvent (new RoutedEventArgs (Button.ClickEvent));' вызывать этот метод на всех трех кнопках после завершения кавычки. –

 Смежные вопросы

  • Нет связанных вопросов^_^