【发布时间】:2017-07-18 10:27:06
【问题描述】:
我在 WPF 项目中有一个 TextBox,其中包含如下复杂的正则表达式模式:
<TextBox x:Name="tbPattern" TextWrapping="Wrap" VerticalAlignment="Stretch" FontFamily="Consolas"
Text="^(?type>([A-Z]|[0-9])+)_(?Y>\d{4})(?M>0[1-9]|1[0-2])(?d>0[1-9]|[1-2][0-9]|3[0-1])_(?H>([0-1][0-9]|2[0-3]))(?m>([0-5][0-9]))(?s>([0-5][0-9]))(~(?n>[1-9][0-9]*))?\.(?ext>([A-Z|a-z|0-9]+))$"
/>
(是的,正则表达式语法无效,但仅用于测试目的...)
因为该模式预计不会包含很多空格,所以我想将文本框文本始终放在行尾,忽略之前的空格字符,就像命令输入用来执行此操作一样(只需打开 cmd 并插入模式。在每一行中,所有字符的范围都会一直到最后一列)。
所以我测试了可用的TextWrapping 属性,但找不到合适的。 NoWrap 产生一些非常混乱的显示,而简单的Wrap 选项将图案分布在不等长的线条上。这也是由WrapWithOverflow 完成的。
如何使用 cmd 样式的包装算法,它不会搜索空格到较早的断行?提前致谢。
【问题讨论】:
标签: c# wpf xaml textbox word-wrap