前へ: コマンドの結果
ここまでは、 ListPage でコマンドの一覧を表示する方法のみを示しました。 ただし、マークダウンなど、拡張機能にリッチ コンテンツを表示することもできます。 これは、ドキュメントを表示したり、ドキュメントのプレビューを表示したりするのに役立ちます。
Markdown コンテンツの操作
IContentPage (およびそのツールキットの実装 である ContentPage) は、すべての種類のリッチ コンテンツをコマンド パレットに表示するためのベースです。 Markdown コンテンツを表示するには、 MarkdownContent クラスを使用します。
簡単な例として、次のページを作成できます。
注
前のセクションで作業している場合は、以下のコードを MarkdownPage
から <ExtensionName>Page
に変更します。
public class MarkdownPage : ContentPage
{
public MarkdownPage()
{
Icon = IconHelpers.FromRelativePath("Assets\\StoreLogo.png");
Title = "Markdown page";
}
public override IContent[] GetContent()
{
return [
new MarkdownContent("# Hello, world!\n This is a **markdown** page."),
];
}
}
この例では、単純なマークダウン文字列を表示する新しい MarkdownPage が作成されます。 MarkdownContent クラスは、マークダウン コンテンツの文字列を受け取り、コマンド パレットにレンダリングします。
ページに複数のコンテンツ ブロックを追加することもできます。 たとえば、マークダウン コンテンツの 2 つのブロックを追加できます。
public override IContent[] GetContent()
{
return [
new MarkdownContent("# Hello, world!\n This is a **markdown** page."),
new MarkdownContent("## Second block\n This is another block of content."),
];
}
これにより、1 つのページでさまざまな種類のコンテンツを混在させることができます。
コマンドの追加
ContentPage にコマンドを追加することもできます。 これにより、コンテンツのコンテキストでユーザーが呼び出すコマンドを追加できます。 たとえば、ドキュメントを表示するページがある場合は、エクスプローラーでドキュメントを開くコマンドを追加できます。
public class MarkdownExamplePage : ContentPage
{
public MarkdownExamplePage()
{
Icon = new("\uE8A5"); // Document icon
Title = "Markdown page";
Name = "Preview file";
Commands = [
new CommandContextItem(new OpenUrlCommand("C:\\Path\\to\\file.txt")) { Title = "Open in File Explorer" },
];
}
public override IContent[] GetContent()
{
return [
new MarkdownContent("# Hello, world!\n This is a **markdown** document.\nI live at `C:\\Path\\to\\file.txt`"),
];
}
}
次へ: フォームを使用してユーザー入力を取得する
関連コンテンツ
Windows developer