/// <summary> /// Sets the state of the VSM depending on the state of the UI /// </summary> /// <param name="useTransitions">true to use a System.Windows.VisualTransition object to transition between states; otherwise, false.</param> private void ChangeVisualState(bool useTransitions) { string newStateName = "KinectNormal"; bool showKinectCursor = true; if (!this.IsEnabled) { newStateName = "KinectDisabled"; } else if (this.IsDragging) { newStateName = "KinectPressed"; showKinectCursor = false; } else if (KinectRegion.GetIsPrimaryHandPointerOver(this.gripEventTarget) || this.gripEventTarget.IsMouseOver) { newStateName = "HandPointerOver"; } var kinectRegion = KinectRegion.GetKinectRegion(this); if (this.sliderParent != null && kinectRegion != null) { if (!showKinectCursor && !this.sliderParent.HideKinectCursorWhenDragging) { showKinectCursor = true; } kinectRegion.IsCursorVisible = showKinectCursor; } VisualStateManager.GoToState(this, newStateName, useTransitions); }
private void OnHandPointerEnter(object sender, HandPointerEventArgs e) { if (KinectRegion.GetIsPrimaryHandPointerOver(btn_login)) { VisualStateManager.GoToState(btn_login, "MouseOver", true); e.Handled = true; } else if (KinectRegion.GetIsPrimaryHandPointerOver(btn_register)) { VisualStateManager.GoToState(btn_register, "MouseOver", true); e.Handled = true; } else if (KinectRegion.GetIsPrimaryHandPointerOver(btn_singlePlayer)) { VisualStateManager.GoToState(btn_singlePlayer, "MouseOver", true); e.Handled = true; } else if (KinectRegion.GetIsPrimaryHandPointerOver(btn_multiPlayer)) { VisualStateManager.GoToState(btn_multiPlayer, "MouseOver", true); e.Handled = true; } else if (KinectRegion.GetIsPrimaryHandPointerOver(btn_loadGame)) { VisualStateManager.GoToState(btn_loadGame, "MouseOver", true); e.Handled = true; } else if (KinectRegion.GetIsPrimaryHandPointerOver(btn_highScores)) { VisualStateManager.GoToState(btn_highScores, "MouseOver", true); e.Handled = true; } else if (KinectRegion.GetIsPrimaryHandPointerOver(btn_help)) { VisualStateManager.GoToState(btn_help, "MouseOver", true); e.Handled = true; } else if (KinectRegion.GetIsPrimaryHandPointerOver(btn_exit)) { VisualStateManager.GoToState(btn_exit, "MouseOver", true); e.Handled = true; } }
private void OnHandPointerLeave(object sender, HandPointerEventArgs e) { if (!KinectRegion.GetIsPrimaryHandPointerOver(btn_login)) { VisualStateManager.GoToState(btn_login, "Normal", true); } if (!KinectRegion.GetIsPrimaryHandPointerOver(btn_register)) { VisualStateManager.GoToState(btn_register, "Normal", true); } if (!KinectRegion.GetIsPrimaryHandPointerOver(btn_singlePlayer)) { VisualStateManager.GoToState(btn_singlePlayer, "Normal", true); } if (!KinectRegion.GetIsPrimaryHandPointerOver(btn_multiPlayer)) { VisualStateManager.GoToState(btn_multiPlayer, "Normal", true); } if (!KinectRegion.GetIsPrimaryHandPointerOver(btn_loadGame)) { VisualStateManager.GoToState(btn_loadGame, "Normal", true); } if (!KinectRegion.GetIsPrimaryHandPointerOver(btn_highScores)) { VisualStateManager.GoToState(btn_highScores, "Normal", true); } if (!KinectRegion.GetIsPrimaryHandPointerOver(btn_help)) { VisualStateManager.GoToState(btn_help, "Normal", true); } if (!KinectRegion.GetIsPrimaryHandPointerOver(btn_exit)) { VisualStateManager.GoToState(btn_exit, "Normal", true); } if (capturedHandPointer == e.HandPointer) { capturedHandPointer = null; e.Handled = true; } }