Ejemplo n.º 1
0
        private void ProcessPatternEditorTime()
        {
            if (HamburgerMenu.CurrentPattern != null &&
                HamburgerMenu.CurrentPattern.HasXAMLCode &&
                _xamlCodeRendererSupported)
            {
                if (_timePatternEditedFirst != DateTime.MinValue &&
                    _timePatternEditedLast != DateTime.MinValue)
                {
                    int secondsEdditingPattern = (int)Math.Floor((_timePatternEditedLast - _timePatternEditedFirst).TotalSeconds);
                    TrackingManager.TrackEvent("xamleditor", "edited", HamburgerMenu.CurrentPattern.Name, secondsEdditingPattern);
                }
                else
                {
                    TrackingManager.TrackEvent("xamleditor", "not_edited", HamburgerMenu.CurrentPattern.Name);
                }
            }

            _timePatternEditedFirst = _timePatternEditedLast = DateTime.MinValue;
        }
Ejemplo n.º 2
0
 private async void DocumentationTextblock_OnLinkClicked(object sender, LinkClickedEventArgs e)
 {
     TrackingManager.TrackEvent("Link", e.Link);
     await Launcher.LaunchUriAsync(new Uri(e.Link));
 }
Ejemplo n.º 3
0
 private void GitHub_OnClick(object sender, RoutedEventArgs e)
 {
     TrackingManager.TrackEvent("Link", GitHub.NavigateUri.ToString());
 }
Ejemplo n.º 4
0
        private async void InfoAreaPivot_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (InfoAreaPivot.SelectedItem != null)
            {
                if (DataContext is Pattern pattern)
                {
                    TrackingManager.TrackEvent("PropertyGrid", (InfoAreaPivot.SelectedItem as FrameworkElement)?.Name, pattern.Name);
                }
            }

            if (HamburgerMenu.CurrentPattern == null)
            {
                return;
            }

            if (InfoAreaPivot.SelectedItem == PropertiesPivotItem)
            {
                // If we switch to the Properties Panel, we want to use a binded version of the Xaml Code.
                if (HamburgerMenu.CurrentPattern.HasXAMLCode)
                {
                    _lastRenderedProperties = true;

                    var t = UpdateXamlRenderAsync(HamburgerMenu.CurrentPattern.BindedXamlCode);
                }

                return;
            }

            if (HamburgerMenu.CurrentPattern.HasXAMLCode && InfoAreaPivot.SelectedItem == XamlPivotItem && _lastRenderedProperties)
            {
                // Use this flag so we don't re-render the XAML tab if we're switching from tabs other than the properties one.
                _lastRenderedProperties = false;

                // If we switch to the Live Preview, then we want to use the Value based Text
                XamlCodeRenderer.Text = HamburgerMenu.CurrentPattern.UpdatedXamlCode;

                var t = UpdateXamlRenderAsync(HamburgerMenu.CurrentPattern.UpdatedXamlCode);
                await XamlCodeRenderer.RevealPositionAsync(new Position(1, 1));

                XamlCodeRenderer.Focus(FocusState.Programmatic);
                return;
            }

            if (HamburgerMenu.CurrentPattern.HasXAMLCode && InfoAreaPivot.SelectedItem == XamlReadOnlyPivotItem)
            {
                // Update Read-Only XAML tab on non-desktop devices to show changes to Properties
                XamlReadOnlyCodeRenderer.XamlSource = HamburgerMenu.CurrentPattern.UpdatedXamlCode;
            }

            if (HamburgerMenu.CurrentPattern.HasCSharpCode && InfoAreaPivot.SelectedItem == CSharpPivotItem)
            {
                CSharpCodeRenderer.CSharpSource = await HamburgerMenu.CurrentPattern.GetCSharpSourceAsync();

                return;
            }

            if (HamburgerMenu.CurrentPattern.HasJavaScriptCode && InfoAreaPivot.SelectedItem == JavaScriptPivotItem)
            {
                JavaScriptCodeRenderer.JavaScriptSource = await HamburgerMenu.CurrentPattern.GetJavaScriptSourceAsync();

                return;
            }
        }