Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Url Azure DevOps:如何在没有DevOps主菜单的情况下在自己的应用程序中显示wiki页面?_Url_Azure Devops_Wiki - Fatal编程技术网

Url Azure DevOps:如何在没有DevOps主菜单的情况下在自己的应用程序中显示wiki页面?

Url Azure DevOps:如何在没有DevOps主菜单的情况下在自己的应用程序中显示wiki页面?,url,azure-devops,wiki,Url,Azure Devops,Wiki,我想在带有浏览器控件的WPF视图中显示我为我的项目创建的Azure DevOps Wiki。我使用了以下url: https://dev.azure.com/xxx/xxx/_wiki/wikis/KIS.wiki?wikiVersion=GBwikiMaster&pagePath=%2FNew%20Features&pageId=1 是否可以只显示Wiki,而不在左侧显示DevOps主菜单(概览、摘要、仪表盘、Wiki、回购、管道等)?鉴于Wiki实际上是标记,您可以随时下载

我想在带有浏览器控件的WPF视图中显示我为我的项目创建的Azure DevOps Wiki。我使用了以下url:

https://dev.azure.com/xxx/xxx/_wiki/wikis/KIS.wiki?wikiVersion=GBwikiMaster&pagePath=%2FNew%20Features&pageId=1

是否可以只显示Wiki,而不在左侧显示DevOps主菜单(概览、摘要、仪表盘、Wiki、回购、管道等)?

鉴于Wiki实际上是标记,您可以随时下载源代码并使用标记查看器。例如,VsCode降价预览

是否可以只显示Wiki而不显示DevOps主菜单 左侧(概述、摘要、仪表盘、Wiki、回购协议、管道、, )

从这个链接可以看到,这是一个链接,它代表了包含左侧面板和右侧显示内容的整个页面。如果要将此链接用作WPF视图的一部分,则它可能不会仅在wiki中显示

但是有一个解决办法,因为WPF支持标记语言,所以您可以使用以下api获取its标记脚本:

https://dev.azure.com/{org name}/{project name}/_apis/wiki/wikis/{wiki name}/pages/%2F10

然后,将它们用于WPF脚本

更新:

要使用此API,首先需要将凭据传递给脚本。要提供凭证,您可以链接一个用C#编写的
.cs
文件

在此
.cs
文件中,使用以下C#脚本与您的组织建立连接:

var url = new Uri("https://dev.azure.com//{org}");
VssCredentials cre = new VssCredentials(new Microsoft.VisualStudio.Services.Common.VssBasicCredential(string.Empty, "{PAT token}"));
var connection = new VssConnection(url, cre);
var workitemClient = connection.GetClient<xxxxHttpClient>();
var url=新Uri(“https://dev.azure.com//{org}”);
VssCredentials cre=新的VssCredentials(新的Microsoft.VisualStudio.Services.Common.vssbasiccredentials(string.Empty,“{PAT token}”);
var连接=新的VssConnection(url、cre);
var workitemClient=connection.GetClient();

只是想分享我们最终为我们的WPF“WikiView”用户控件所得到的结果:

  • 我们使用WikiHttpClient的GetPageAsync()获取所有页面的内容(page.page.content),并使用page.page.GitItemPath中的路径名在本地保存标记(*.md)文件
  • 我们使用GitHttpClient从wiki存储库中的“附件”文件夹获取所有图像
  • Markdig将标记转换为html(并手动将绝对链接地址固定为相对链接地址)
  • wiki页面的列表框(目录)
  • 用于显示html的浏览器控件(WPF BrowserControl显示的图像太小)

我将提供一些代码,以备不时之需。

非常有趣,谢谢!您知道我如何提供凭据吗?您使用了哪种HttpClient和哪种方法?对于GitHttpClient和GetItemsAsync(),我必须提供存储库和路径,但我看不到“Repos”/“Files”下的wiki内容,因此我认为正确的方法是使用url。那么哪种客户端方法呢?再次感谢。因为它是获取wiki的内容,所以我使用的方法是Get。我使用的HttpClient是WikiHttpClient。对于某些名称空间和类,您可以参考以下文档:事情进展如何?关于这件事,你还有其他疑问吗?不要犹豫,让我们知道。我现在可以下载一个降价页面,但我还不知道如何获得整个结构并在页面之间导航。另外,要在WPF中呈现标记,我们需要库,对吧,我想WPF不支持标记?