private HyperlinkBox RenderLanguage([NotNull] ContentEditorContext context, [NotNull] string name) { Debug.ArgumentNotNull(context, nameof(context)); Debug.ArgumentNotNull(name, nameof(name)); CultureInfo cultureInfo; try { cultureInfo = new CultureInfo(name); } catch { cultureInfo = CultureInfo.InvariantCulture; } var language = new Language(name); var command = new SetLanguage(language); var hyperlink = new HyperlinkBox { Text = name, CommandParameter = context, Command = command, ToolTip = cultureInfo.NativeName + @" / " + cultureInfo.EnglishName }; Languages.Inlines.Add(hyperlink); return(hyperlink); }
private void RenderVersions([NotNull] Item item) { Debug.ArgumentNotNull(item, nameof(item)); Versions.Inlines.Clear(); var context = new ContentEditorContext(ContentEditor); var versions = item.Versions; var count = versions.Count; if (count > 0) { var selectedVersion = item.Uri.Version; if (selectedVersion == Version.Latest) { selectedVersion = new Version(item.Versions[count - 1]); } count = count > 3 ? 3 : count; for (var n = 0; n < count; n++) { var version = new Version(versions[versions.Count - n - 1]); var command = new SetVersion(version); var hyperlink = new HyperlinkBox { Text = version.ToString(), IsSelected = version == selectedVersion, CommandParameter = context, Command = command, ToolTip = Rocks.Resources.QuickInfo_RenderVersions_Version + @" " + version }; Versions.Inlines.Add(hyperlink); } } var more = new Hyperlink(new Run(@"...")) { Style = FindResource(@"HyperlinkValue") as Style }; more.Click += VersionsClick; var border = new Border { Child = new TextBlock(more), Margin = new Thickness(2) }; Versions.Inlines.Add(border); }