private void view_Hold(object sender, System.Windows.Input.GestureEventArgs e) { PointView view = sender as PointView; txt1.Text = view.PosX.ToString(); txt2.Text = view.PosY.ToString(); }
private void GeneratePoints() { foreach (PointViewModel viewmodel in App.GameMainViewModel.Points) { PointView view = new PointView(); view.SetValue(HeightProperty, Double.NaN); view.SetValue(WidthProperty, Double.NaN); Canvas.SetZIndex(view, 2); view.RenderTransformOrigin = new Point(0.5, 0.5); Binding b1 = new Binding(); b1.Source = viewmodel; b1.Path = new PropertyPath("PosX"); b1.Mode = BindingMode.TwoWay; Binding b2 = new Binding(); b2.Source = viewmodel; b2.Path = new PropertyPath("PosY"); b2.Mode = BindingMode.TwoWay; CompositeTransform tran = new CompositeTransform(); view.RenderTransform = tran; tran.TranslateX = viewmodel.PosX; tran.TranslateY = viewmodel.PosY; view.SetBinding(PointView.posX, b1); view.SetBinding(PointView.posY, b2); view.DataContext = viewmodel; parentCanvas.Children.Add(view); view.Name = "point" + viewmodel.Id.ToString(); _pointViewList.Add(view); view.DoubleTap += new System.EventHandler <System.Windows.Input.GestureEventArgs>(view_DoubleTap); view.Hold += new System.EventHandler <System.Windows.Input.GestureEventArgs>(view_Hold); view.OnBoardAnimation.Completed += new EventHandler(OnBoardAnimation_Completed); view.Tap += new EventHandler <GestureEventArgs>(view_Tap); view.SetUseDragable(true); } }
void view_Tap(object sender, GestureEventArgs e) { PointView view = sender as PointView; PointViewModel viewmodel = view.DataContext as PointViewModel; //view.OnBoardAnimation.Stop(); if (GameConstants.CURRENT_ID >= App.GameMainViewModel.CorrectWordIndex.Count) { //IsOK = false; return; } //if (IsOK || GameConstants.CURRENT_ID == 0) { //IsOK = false; if (App.GameMainViewModel.AlreadyLetter.Contains(viewmodel.Id)) { //IsOK = false; return; } if (App.GameMainViewModel.CorrectWordIndex[GameConstants.CURRENT_ID] == viewmodel.Id || (App.GameMainViewModel.CorrectWordIndex[GameConstants.CURRENT_ID] < 0 && App.GameMainViewModel.AmbigiousLetter.Contains(viewmodel.Id) && App.GameMainViewModel.AmbigiousConfusingLetter[App.GameMainViewModel.AmbigiousLetter.IndexOf(viewmodel.Id)] == App.GameMainViewModel.CorrectWordIndex[GameConstants.CURRENT_ID])) { List <int> vertices = new List <int>(); List <PointViewModel> vertices_out = new List <PointViewModel>(); List <ConnectorViewModel> connectors_out = new List <ConnectorViewModel>(); List <PointViewModel> vertices_in = new List <PointViewModel>(); List <ConnectorViewModel> connectors_in = new List <ConnectorViewModel>(); vertices_in.AddRange(App.GameMainViewModel.Points); connectors_in.AddRange(App.GameMainViewModel.Connectors); if (MathNew.AddConnPoint(vertices_in, connectors_in, ref vertices_out, ref connectors_out, viewmodel)) { vertices.Add(viewmodel.Id); foreach (PointViewModel v in vertices_out) { vertices.Add(v.Id); } App.GameMainViewModel.AlreadyLetter.Add(vertices[0]); foreach (ConnectorViewModel v in connectors_out) { App.GameMainViewModel.AlreadyConnector.Add(v.Id); } this.Execute2(vertices, GameConstants.CURRENT_X, GameConstants.CURRENT_Y); GameConstants.CURRENT_ID++; GameConstants.CURRENT_X += GameConstants.NEXT_X; GameConstants.CURRENT_Y += GameConstants.NEXT_Y; } if (GameConstants.CURRENT_ID == App.GameMainViewModel.CorrectWordIndex.Count) { //Success this.SuccessAnimation.Begin(); this.SuccessAnimation.Completed += new System.EventHandler(SuccessAnimation_Completed); } } }