public void OnNewLink() { CreateLinkViewModel vm = new CreateLinkViewModel(); CreateLinkView v = new CreateLinkView() { DataContext = vm }; if (v.ShowDialog().Value) { //this.entry.CreateLink(vm.LinkName, vm.LinkPath); DoRefresh(false); } }
private async void ContextLink_Click() { var range = Document.Selection.GetClone(); var clone = Document.Selection.GetClone(); clone.StartOf(TextRangeUnit.Link, true); if (clone.Link.Length > 0) { range.Expand(TextRangeUnit.Link); } range.GetText(TextGetOptions.NoHidden, out string text); var start = Math.Min(range.StartPosition, range.EndPosition); var end = Math.Max(range.StartPosition, range.EndPosition); var dialog = new CreateLinkView(); dialog.Text = text; dialog.Link = range.Link.Trim('"'); var confirm = await dialog.ShowQueuedAsync(); if (confirm != ContentDialogResult.Primary) { return; } Document.BatchDisplayUpdates(); range.SetRange(start, end); range.CharacterFormat = Document.GetDefaultCharacterFormat(); range.SetText(end > start ? TextSetOptions.Unlink : TextSetOptions.None, dialog.Text); range.SetRange(start, start + dialog.Text.Length); range.Link = $"\"{dialog.Link}\""; Document.Selection.SetRange(range.EndPosition, range.EndPosition); Document.ApplyDisplayUpdates(); }