public void InitializeOnceAtStartup(ImageButtonModel model) { this.DataContext = model; thisButton.MouseEnter += (sender, e) => { model.IsHovered = true; }; thisButton.MouseLeave += (sender, e) => { model.IsHovered = false; // TODO: Confirm the necessity of the next line. If it is enabled, the state can change from Pressed to Enabled, soon after users pressed. //model.IsPressed = false; }; thisButton.PreviewMouseDown += (sender, e) => { model.IsPressed = true; }; thisButton.PreviewMouseUp += (sender, e) => { model.IsPressed = false; }; }
public TutorialAppHeaderMenuViewModel() { // NOTE: In XAML, it uses not "\n" but " ". MenuStartButtonModel = new ImageButtonModel() { ImageSourceRelativeFolderPath = @"Resources\en\drawable-mdpi\", ImageSourceDisabledFileName = "tutorial_common_menu_start_button_enabled.png", ImageSourcePressedFileName = "tutorial_common_menu_start_button_selected.png", ImageSourceHoveredFileName = "tutorial_common_menu_start_button_focused.png", ImageSourceSelectedFileName = "tutorial_common_menu_start_button_selected.png", ImageSourceEnabledFileName = "tutorial_common_menu_start_button_enabled.png", ButtonDescriptionText = "Show the Hand Cursor by your Initial Gesture" }; MenuMoveButtonModel = new ImageButtonModel() { ImageSourceRelativeFolderPath = @"Resources\en\drawable-mdpi\", ImageSourceDisabledFileName = "tutorial_common_menu_move_button_enabled.png", ImageSourcePressedFileName = "tutorial_common_menu_move_button_selected.png", ImageSourceHoveredFileName = "tutorial_common_menu_move_button_focused.png", ImageSourceSelectedFileName = "tutorial_common_menu_move_button_selected.png", ImageSourceEnabledFileName = "tutorial_common_menu_move_button_enabled.png", ButtonDescriptionText = "Move the Hand Cursor by your hand movement", }; MenuTapButtonModel = new ImageButtonModel() { ImageSourceRelativeFolderPath = @"Resources\en\drawable-mdpi\", ImageSourceDisabledFileName = "tutorial_common_menu_tap_button_enabled.png", ImageSourcePressedFileName = "tutorial_common_menu_tap_button_selected.png", ImageSourceHoveredFileName = "tutorial_common_menu_tap_button_focused.png", ImageSourceSelectedFileName = "tutorial_common_menu_tap_button_selected.png", ImageSourceEnabledFileName = "tutorial_common_menu_tap_button_enabled.png", ButtonDescriptionText = "Tap Gesture Practice", }; MenuDragButtonModel = new ImageButtonModel() { ImageSourceRelativeFolderPath = @"Resources\en\drawable-mdpi\", ImageSourceDisabledFileName = "tutorial_common_menu_drag_button_enabled.png", ImageSourcePressedFileName = "tutorial_common_menu_drag_button_selected.png", ImageSourceHoveredFileName = "tutorial_common_menu_drag_button_focused.png", ImageSourceSelectedFileName = "tutorial_common_menu_drag_button_selected.png", ImageSourceEnabledFileName = "tutorial_common_menu_drag_button_enabled.png", ButtonDescriptionText = "Drag Gesture Practice", }; MenuFlickButtonModel = new ImageButtonModel() { ImageSourceRelativeFolderPath = @"Resources\en\drawable-mdpi\", ImageSourceDisabledFileName = "tutorial_common_menu_flick_button_enabled.png", ImageSourcePressedFileName = "tutorial_common_menu_flick_button_selected.png", ImageSourceHoveredFileName = "tutorial_common_menu_flick_button_focused.png", ImageSourceSelectedFileName = "tutorial_common_menu_flick_button_selected.png", ImageSourceEnabledFileName = "tutorial_common_menu_flick_button_enabled.png", ButtonDescriptionText = "Flick Gesture Practice", }; MenuMoreButtonModel = new ImageButtonModel() { ImageSourceRelativeFolderPath = @"Resources\en\drawable-mdpi\", ImageSourceDisabledFileName = "tutorial_common_menu_more_button_enabled.png", ImageSourcePressedFileName = "tutorial_common_menu_more_button_selected.png", ImageSourceHoveredFileName = "tutorial_common_menu_more_button_focused.png", ImageSourceSelectedFileName = "tutorial_common_menu_more_button_selected.png", ImageSourceEnabledFileName = "tutorial_common_menu_more_button_enabled.png", ButtonDescriptionText = "Gestures by Both Hands and the Other Gestures", }; MenuReplayButtonModel = new ImageButtonModel() { ImageSourceRelativeFolderPath = @"Resources\en\drawable-mdpi\", ImageSourceDisabledFileName = "tutorial_common_menu_replay_button_enabled.png", ImageSourcePressedFileName = "tutorial_common_menu_replay_button_pressed.png", ImageSourceHoveredFileName = "tutorial_common_menu_replay_button_focused.png", ImageSourceSelectedFileName = "tutorial_common_menu_replay_button_pressed.png", ImageSourceEnabledFileName = "tutorial_common_menu_replay_button_enabled.png", ButtonDescriptionText = "Restart from Video Replay of this Practice", }; MenuPracticeButtonModel = new ImageButtonModel() { ImageSourceRelativeFolderPath = @"Resources\en\drawable-mdpi\", ImageSourceDisabledFileName = "tutorial_common_menu_practice_button_enabled.png", ImageSourcePressedFileName = "tutorial_common_menu_practice_button_pressed.png", ImageSourceHoveredFileName = "tutorial_common_menu_practice_button_focused.png", ImageSourceSelectedFileName = "tutorial_common_menu_practice_button_pressed.png", ImageSourceEnabledFileName = "tutorial_common_menu_practice_button_enabled.png", ButtonDescriptionText = "Retry this Practice", }; MenuNextButtonModel = new ImageButtonModel() { ImageSourceRelativeFolderPath = @"Resources\en\drawable-mdpi\", ImageSourceDisabledFileName = "tutorial_common_menu_next_button_enabled.png", ImageSourcePressedFileName = "tutorial_common_menu_next_button_pressed.png", ImageSourceHoveredFileName = "tutorial_common_menu_next_button_focused.png", ImageSourceSelectedFileName = "tutorial_common_menu_next_button_pressed.png", ImageSourceEnabledFileName = "tutorial_common_menu_next_button_enabled.png", ButtonDescriptionText = "Move to Next Practice", }; MenuExitButtonModel = new ImageButtonModel() { ImageSourceRelativeFolderPath = @"Resources\en\drawable-mdpi\", ImageSourceDisabledFileName = "tutorial_common_menu_exit_button_enabled.png", ImageSourcePressedFileName = "tutorial_common_menu_exit_button_pressed.png", ImageSourceHoveredFileName = "tutorial_common_menu_exit_button_focused.png", ImageSourceSelectedFileName = "tutorial_common_menu_exit_button_pressed.png", ImageSourceEnabledFileName = "tutorial_common_menu_exit_button_enabled.png", ButtonDescriptionText = "Exit the Tutorial", }; DialogReplayButtonModel = new ImageButtonModel() { ImageSourceRelativeFolderPath = @"Resources\en\drawable-mdpi\", ImageSourceDisabledFileName = "tutorial_common_dialog_replay_button_enabled.png", ImageSourcePressedFileName = "tutorial_common_dialog_replay_button_pressed.png", ImageSourceHoveredFileName = "tutorial_common_dialog_replay_button_focused.png", ImageSourceSelectedFileName = "tutorial_common_dialog_replay_button_pressed.png", ImageSourceEnabledFileName = "tutorial_common_dialog_replay_button_enabled.png", ButtonDescriptionText = "Restart from Video Replay of this Practice", }; DialogPracticeButtonModel = new ImageButtonModel() { ImageSourceRelativeFolderPath = @"Resources\en\drawable-mdpi\", ImageSourceDisabledFileName = "tutorial_common_dialog_practice_button_enabled.png", ImageSourcePressedFileName = "tutorial_common_dialog_practice_button_pressed.png", ImageSourceHoveredFileName = "tutorial_common_dialog_practice_button_focused.png", ImageSourceSelectedFileName = "tutorial_common_dialog_practice_button_pressed.png", ImageSourceEnabledFileName = "tutorial_common_dialog_practice_button_enabled.png", ButtonDescriptionText = "Retry this Practice", }; DialogNextButtonModel = new ImageButtonModel() { ImageSourceRelativeFolderPath = @"Resources\en\drawable-mdpi\", ImageSourceDisabledFileName = "tutorial_common_dialog_next_button_enabled.png", ImageSourcePressedFileName = "tutorial_common_dialog_next_button_pressed.png", ImageSourceHoveredFileName = "tutorial_common_dialog_next_button_focused.png", ImageSourceSelectedFileName = "tutorial_common_dialog_next_button_pressed.png", ImageSourceEnabledFileName = "tutorial_common_dialog_next_button_enabled.png", ButtonDescriptionText = "Move to Next Practice", }; // TODO: If this is serialized, it is bad to write such code in the constructor. ImageButtonModelList.Add(MenuStartButtonModel); ImageButtonModelList.Add(MenuMoveButtonModel); ImageButtonModelList.Add(MenuTapButtonModel); ImageButtonModelList.Add(MenuDragButtonModel); ImageButtonModelList.Add(MenuFlickButtonModel); ImageButtonModelList.Add(MenuMoreButtonModel); ImageButtonModelList.Add(MenuReplayButtonModel); ImageButtonModelList.Add(MenuPracticeButtonModel); ImageButtonModelList.Add(MenuNextButtonModel); ImageButtonModelList.Add(MenuExitButtonModel); ImageButtonModelList.Add(DialogReplayButtonModel); ImageButtonModelList.Add(DialogPracticeButtonModel); ImageButtonModelList.Add(DialogNextButtonModel); }