在下面的代码中,我将在输入第七个字符后立即进行搜索。一切工作正常,除了用户不能键入空格,是因为自从我在Trim()
事件中调用PropertyChanged
方法以来,每次输入新字符时,空格都会被删除。我想做的就是让用户可以键入空格,但可以删除任何前导和尾随空格。换句话说,如果用户在他/她正在搜索的单词或句子前后输入一些空格,我想删除空格并仅搜索单词。
例如,如果用户键入...
<space><space><space>The Cat<space><space><space>
我希望程序忽略空格并在输入最后一个The Cat
后立即搜索t
。
实现此目标的最佳方法是什么?
XAML:
<TextBox x:Name="myTextBox" Text="{Binding InputFileNameChanged, UpdateSourceTrigger=PropertyChanged}"/>
ViewModel .CS
public string InputFileNameChanged
{
get { return _inputFileName; }
set {
_inputFileName = value.Trim();
if (_inputFileName.Length == 7) {
// search file
}
}
}
答案 0 :(得分:3)
如果我是你,我不会修剪背景字段,而只会在进行检查/搜索之前修剪。即
public string InputFileNameChanged
{
get { return _inputFileName; }
set {
_inputFileName = value;
var trimmed = value.Trim();
if (trimmed.Length >= 7) {
// search file using trimmed
}
}
}