2016-10-02 69 views
1

我想要一個WPF文本框,當您在其中鍵入空格時,將空格顯示爲點或其他字符(顯然,仍將空間存儲爲其值)。顯式指示WPF文本框中的空格

例如,如果我在<space><space>abc型,我想文本框顯示..abc但如果我得到它的.Text,它仍然應該返回<space><space>abc

+0

http://stackoverflow.com/questions/24202565/display-whitespace-in-a-textbox-as-a-different-character – YuvShap

回答

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('.', ' '); } 
    } 

} 
+1

它的確,雖然亂搞'Text' *不是*使用數據綁定時正確的方法。更容易引入額外的,未受污染的財產。 –