相关疑难解决方法(0)

在WPF中创建吉他和弦编辑器(来自RichTextBox?)

我正在WPF工作的主要目的是允许编辑并因此在其上打印带有吉他和弦的歌曲歌词.

即使你不玩任何乐器,你可能已经看过和弦.为了给你一个想法,它看起来像这样:

E                 E6
I know I stand in line until you
E                  E6               F#m            B F#m B
think you have the time to spend an evening with me
Run Code Online (Sandbox Code Playgroud)

但是我不想使用这种丑陋的单行间距字体,而是希望Times New Roman字体与歌词和和弦(粗体字的和弦)进行字距调整.我希望用户能够编辑它.

这似乎不是支持的方案RichTextBox.这些是我不知道如何解决的一些问题:

  • 和弦的位置固定在歌词文本中的某些字符上(或更常见的TextPointer是歌词行).当用户编辑歌词时,我希望和弦保持在正确的角色上.例:

.

E                                       E6
I know !!!SOME TEXT REPLACED HERE!!! in line until you
Run Code Online (Sandbox Code Playgroud)
  • 换行:2行(带和弦的第1行和带歌词的第2行)在包装时逻辑上是一行.当一个单词换行到下一行时,它上面的所有和弦也应该换行.此外,当和弦包裹它已经结束的词时,它也会包裹.例:

.

E                  E6
think you have the time to spend an
F#m            B F#m B
evening with me
Run Code Online (Sandbox Code Playgroud)
  • 即使和弦彼此太近,和弦也应保持正确的特征.在这种情况下,一些额外的空间会自动插入歌词行中.例:

.

                  F#m E6
  ...you have the ti …
Run Code Online (Sandbox Code Playgroud)

.net wpf user-interface richtextbox music-notation

19
推荐指数
2
解决办法
2089
查看次数

标签 统计

.net ×1

music-notation ×1

richtextbox ×1

user-interface ×1

wpf ×1