【发布时间】:2015-05-06 22:49:42
【问题描述】:
我正在为用户编写一个控制台,以便他们可以在其中编写类似于 Visual Studio 的代码。我想知道如何在程序检测到某个字符(例如 /* */ 注释标签)的输入后立即更改 WPF TextBox 中一组文本的颜色。
当用户输入 /* 标签时,标签后面的文本应该是绿色的,当用户关闭标签时,文本应该变回白色。我尝试使用 TextChanged 方法执行此操作,但我不知道如何继续。
('console' 是我窗口中的文本框)
private void console_TextChanged(object sender, TextChangedEventArgs e)
{
if (e.Changes.Equals("/*"))
{
console.Foreground = Brushes.Green;
}
}
【问题讨论】:
-
console_TextChanged 表示当您键入文本并将焦点移出文本框时,它将被调用。您应该改用 KeyPress 事件。
-
我明白了。但即使我使用 KeyPress,我也必须扫描以前输入的文本,看看“当前输入”的文本是否在评论标签内,伙计。我怎样才能做到这一点? @卢卡西斯
-
stackoverflow.com/questions/14085607/textbox-text-color-change 相同的问题,虽然没有好的答案。
-
我看到了@Lucassith,但它没有为问题提供正确的答案
标签: c# wpf textbox textchanged