MermaidJS FlexDiagram renders diagrams from MermaidJS text syntax.
MermaidJS is a text-based diagramming language that defines diagrams using structured text. FlexDiagram parses the MermaidJS input and generates the corresponding visual diagram.
This approach is suitable for:
Rapid diagram creation
Text-based diagram definitions
Importing existing MermaidJS diagrams
Note:
FlexDiagram supports basic MermaidJS flowchart syntax. Some advanced MermaidJS features are not supported.
Create a MermaidJS text file.
Add FlexDiagram in XAML.
Load the MermaidJS graph.
Load the MermaidJS text.
flowchart TD
A((Start ???E?E) --> B[Gather Ingredients ??????]
B --> C[Prepare Dough ??]
C --> D[Add Sauce ??]
D --> E{Choose Toppings ??}
E -->|Cheese ??| F[Add Cheese ??]
E -->|Veggies ????| G[Add Vegetables ????]
E -->|Meat ??| H[Add Meat ??]
F --> I[Bake in Oven ??]
G --> I
H --> I
I --> J[Slice & Enjoy ?E??]
| XAML |
コードのコピー
|
|---|---|
<c1:FlexDiagram x:Name="diagram" ScaleMode="ScaleToFit"/> |
|
| C# |
コードのコピー
|
|---|---|
var text = await LoadMermaidText(); // Load Mermaid.js graph into FlexDiagram diagram.LoadMermaidGraph(text); |
|
| C# |
コードのコピー
|
|---|---|
async Task<string> LoadMermaidText() { using var stream = await FileSystem.OpenAppPackageFileAsync("pizza.txt"); using var reader = new StreamReader(stream); return await reader.ReadToEndAsync(); } |
|
| XAML |
コードのコピー
|
|---|---|
<Grid Padding="10"> <c1:FlexDiagram x:Name="diagram" ScaleMode="ScaleToFit"/> </Grid> |
|
| C# |
コードのコピー
|
|---|---|
using C1.Diagram.Parser; namespace FlexDiagramMaui_Mermaid { public partial class MainPage : ContentPage { public MainPage() { InitializeComponent(); LoadMermaidDiagram(); } async void LoadMermaidDiagram() { var text = await LoadMermaidText(); diagram.LoadMermaidGraph(text); } async Task<string> LoadMermaidText() { using var stream = await FileSystem.OpenAppPackageFileAsync("pizza.txt"); using var reader = new StreamReader(stream); return await reader.ReadToEndAsync(); } } } |
|
MermaidJS text can also be passed directly without using a file.
| C# |
コードのコピー
|
|---|---|
string mermaidText = @" |
|