1

我有一个拖放元素的cs文件。在放置完成后的方法(OnManipulationCompleted)中,我想从另一个 WPF 页面启动/触发 3 个按钮单击,该页面在 OnManipulationCompleted 方法中有 3 个按钮。

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;
    }


}

我该怎么做?请帮忙

4

1 回答 1

1

您需要有一个要在其上触发事件的页面实例。如果该页面存在,那么您可以根据您的应用程序体系结构获取该实例,否则无法在不实例化对象的情况下调用非静态成员。

获得该页面实例后,将相应的事件处理程序作为方法调用。例如,如果该实例被命名,targetPage那么

   targetPage.Tip_Click(null, new EventArgs());
于 2016-08-19T14:25:07.390 回答