翼度科技»论坛 编程开发 .net 查看内容

Avalonia开发Markdown编辑器

5

主题

5

帖子

15

积分

新手上路

Rank: 1

积分
15
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][align=center][/align]
  2. [size=5]3.界面功能设计[/size]
  3. 我们修改MainWindow 实现功能
  4. [list]
  5. [*]左边输入框,使用TextBox
  6. [*]右边添加Markdown.Avalonia控件
  7. [*]打开文件按钮-打开文件,提取文件内容
  8. [*]保存-如果是新文件,选择保存路径-如果是已打开的文件,保存现有文件。
  9. [/list][size=4]1.编写界面布局[/size]
  10. [align=center][/align]
  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


来源:https://www.cnblogs.com/raok/archive/2023/06/29/17515488.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

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

x

举报 回复 使用道具