private TutorialTooltipView TryAddDialogTemplateChild(string xamlId, Func <TutorialTooltipView, TutorialTooltipPositionTracker.OnUpdateTransformEvent> positionDialog) { TutorialTooltipView dialog = GetEnabledTemplateChild(xamlId); if (dialog != null) { m_dialogs.Add(xamlId, new PositionedDialog(dialog, positionDialog(dialog))); } return(dialog); }
private TutorialTooltipView GetEnabledTemplateChild(string xamlId) { TutorialTooltipView child = (TutorialTooltipView)GetTemplateChild(xamlId); if (child.IsEnabled) { return(child); } else { child.Visibility = Visibility.Collapsed; return(null); } }
public override void OnApplyTemplate() { base.OnApplyTemplate(); TutorialTooltipView mapModeDialog = (TutorialTooltipView)GetTemplateChild(MapModeDialogName); m_positionedMapModeDialog = new PositionedDialog(mapModeDialog, (x, y, w, h) => { ((TranslateTransform)mapModeDialog.RenderTransform).X = x - mapModeDialog.GetTooltipWidth() - DialogGap; ((TranslateTransform)mapModeDialog.RenderTransform).Y = y + 2; }); FlattenButtonView flattenButtonView = ViewHelpers.FindChildrenOfType <FlattenButtonView>(m_mainWindow.MainGrid.Children).Single(); m_mapModePositionTracker = new TutorialTooltipPositionTracker(m_mainWindow, flattenButtonView); m_mapModePositionTracker.OnUpdateTransform += m_positionedMapModeDialog.DialogPosition; mapModeDialog.RenderTransformOrigin = new Point(0.0, 0.0); mapModeDialog.RenderTransform = new TranslateTransform(); TutorialTooltipView dropPinDialog = (TutorialTooltipView)GetTemplateChild(DropPinDialogName); m_positionedDropPinDialog = new PositionedDialog(dropPinDialog, (x, y, w, h) => { ((TranslateTransform)dropPinDialog.RenderTransform).X = x + w + dropPinDialog.ArrowPointHeight + DialogGap; ((TranslateTransform)dropPinDialog.RenderTransform).Y = y - (dropPinDialog.GetTooltipHeight() - h) - 2; }); MyPinCreationButtonView myPinCreationButtonView = ViewHelpers.FindChildrenOfType <MyPinCreationButtonView>(m_mainWindow.MainGrid.Children).Single(); m_dropPinPositionTracker = new TutorialTooltipPositionTracker(m_mainWindow, myPinCreationButtonView); m_dropPinPositionTracker.OnUpdateTransform += m_positionedDropPinDialog.DialogPosition; dropPinDialog.RenderTransformOrigin = new Point(0.0, 0.0); dropPinDialog.RenderTransform = new TranslateTransform(); m_showAnimation = (Storyboard)FindResource("ShowAnimation"); m_hideAnimation = ((Storyboard)FindResource("HideAnimation")).Clone(); m_hideAnimation.Completed += (o, e) => { m_hideAnimationRunning = false; Visibility = Visibility.Hidden; }; }
public PositionedDialog(TutorialTooltipView dialog, TutorialTooltipPositionTracker.OnUpdateTransformEvent dialogPosition) { Dialog = dialog; DialogPosition = dialogPosition; }