Avalonia开发Markdown编辑器

打印 上一主题 下一主题

主题 659|帖子 659|积分 1977

Avalonia开发Markdown编辑器

今天熟悉Avalonia UI,做一个Markdown的文本编辑器。
代码我上传了Github,地址:
https://github.com/raokun/AvaloniaMarkdown.git
1.创建Avalonia MVVM项目

我使用开发工具的是visual studio 2022 preview ,上一篇博客已经写过了SDK的安装和基础项目的创建,需要了解的可以跳转查看:
创建Avalonia 模板项目-基础

2.添加用于Markdown渲染的nuget包

由于Avalonia UI 本身不带Markdown的展示,我们使用nuget包 Markdown.Avalonia
在csproj中添加包
  1. [/code][img]https://www.raokun.top/upload/2023/06/image-20230629213506420.png[/img]
  2. [size=5]3.界面功能设计[/size]
  3. 我们修改MainWindow 实现功能
  4. [list]
  5. [*]左边输入框,使用TextBox
  6. [*]右边添加Markdown.Avalonia控件
  7. [*]打开文件按钮-打开文件,提取文件内容
  8. [*]保存-如果是新文件,选择保存路径-如果是已打开的文件,保存现有文件。
  9. [/list][size=4]1.编写界面布局[/size]
  10. [img]https://www.raokun.top/upload/2023/06/image-20230629223400095.png[/img]
  11. [code]<Grid>
  12.         <Grid.ColumnDefinitions>
  13.                 <ColumnDefinition Width="10*"/>
  14.                 <ColumnDefinition Width="10*"/>
  15.         </Grid.ColumnDefinitions>
  16.         <Grid.RowDefinitions>
  17.                 <RowDefinition Height="1*"/>
  18.                 <RowDefinition Height="10*"/>
  19.         </Grid.RowDefinitions>
  20. </Grid>
复制代码
2.编辑框和Markdown展示代码
  1. <TextBox Grid.Row="1"
  2.     Grid.Column="0"
  3.     VerticalAlignment="Stretch"
  4.     AcceptsReturn="True"
  5.     Text="{Binding Text}"
  6.     TextWrapping="Wrap"
  7.     />
  8.     <md:MarkdownScrollViewer Grid.Row="1"
  9.         Grid.Column="1" Name="abc" Markdown="{Binding Text}"/>
复制代码
3.保存和打开
  1. <TextBox Grid.Row="1"
  2.     Grid.Column="0"
  3.     VerticalAlignment="Stretch"
  4.     AcceptsReturn="True"
  5.     Text="{Binding Text}"
  6.     TextWrapping="Wrap"
  7.     />
  8.     <md:MarkdownScrollViewer Grid.Row="1"
  9.         Grid.Column="1" Name="abc" Markdown="{Binding Text}"/>打开<TextBox Grid.Row="1"
  10.     Grid.Column="0"
  11.     VerticalAlignment="Stretch"
  12.     AcceptsReturn="True"
  13.     Text="{Binding Text}"
  14.     TextWrapping="Wrap"
  15.     />
  16.     <md:MarkdownScrollViewer Grid.Row="1"
  17.         Grid.Column="1" Name="abc" Markdown="{Binding Text}"/>保存
复制代码
4.成果


阅读如遇样式问题,请前往个人博客浏览: https://www.raokun.top

拥抱ChatGPT:https://ai.terramours.site

开源项目地址:https://github.com/firstsaofan/TerraMours


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

光之使者

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表