0

在下面的代码中,我会在输入第七个字符后立即进行搜索。一切正常,除了用户无法键入空格,因为正如预期的那样,每次输入新字符时它们都会被删除,因为我在事件上调用该Trim()方法。PropertyChanged我想要做的是让用户能够键入空格但删除任何前导和尾随空格。换句话说,如果用户在他/她正在搜索的单词或句子之前和之后输入一些空格,我想删除空格并只搜索单词。

例如,如果用户键入... 我希望程序忽略空格并在输入最后一个时立即<space><space><space>The Cat<space><space><space> 搜索。The Catt

实现这一目标的最佳方法是什么?

XAML:

<TextBox x:Name="myTextBox" Text="{Binding InputFileNameChanged, UpdateSourceTrigger=PropertyChanged}"/>

视图模型.CS

    public string InputFileNameChanged
    {
        get { return _inputFileName; }
        set {
            _inputFileName = value.Trim();

            if (_inputFileName.Length == 7) {
                // search file
            }
        }
    }
4

1 回答 1

3

如果我是你,我不会修剪支持字段,而只会在进行检查/搜索之前修剪。IE

public string InputFileNameChanged
{
    get { return _inputFileName; }
    set {
        _inputFileName = value;
        var trimmed = value.Trim();
        if (trimmed.Length >= 7) {
            // search file using trimmed
        }
    }
}
于 2018-06-20T15:09:05.273 回答