显式指示WPF TextBox中的空格

时间:2016-10-02 09:08:19

标签: c# wpf user-interface textbox

我想要一个WPF TextBox,当你在其中键入一个空格时,将该空格显示为一个点或一些其他字符(显然仍然将该空间存储为其值)。

例如,如果我输入<space><space>abc,我希望TextBox显示..abc,但如果我得到.Text,它仍应返回<space><space>abc

1 个答案:

答案 0 :(得分:1)

看看这是否能解决您的问题。

public class NewTextBox : TextBox
{

    static NewTextBox()
    {
        TextBox.TextProperty.OverrideMetadata(typeof(NewTextBox),
            new FrameworkPropertyMetadata(
                "n/a",
                TextBox.TextProperty.DefaultMetadata.PropertyChangedCallback,
                new CoerceValueCallback(textValueCallback)));
    }

    private static object textValueCallback(DependencyObject d, object baseValue)
    {
        return baseValue.ToString().Replace(' ', '.');
    }

    public new string Text
    {
        get { return base.Text.Replace('.', ' '); }
    }

}