如何清除“自动完成框”的值

本文关键字:自动完成框 的值 何清除 清除 | 更新日期: 2023-09-27 18:18:21

就像WPF中的许多事情一样,有时最简单的事情是最难找到示例的事情!如何清除自动完成框的当前文本?在我的OnFocus事件中,我想确保给用户一个清晰的输入框。所以我的事件过程看起来像

private void autGlobal_GotFocus(object sender, RoutedEventArgs e)
{
    AutoCompleteBox acb = (AutoCompleteBox)sender;
    if (acb.SearchText == "Search Term")
    {
        //clear out the box if it has the focus                    
        this.autGlobal.Text = "";
    }         
}

但是,直接设置text属性似乎不起作用。我错过了什么明显的东西吗?

如何清除“自动完成框”的值

你也需要重置"Selected Item"

private void SearchAutoCompleteBox_OnPreviewMouseDown(object sender, MouseButtonEventArgs e)
{
    SearchAutoCompleteBox.SelectedItem = null;
    SearchAutoCompleteBox.Text = string.Empty;
}

您是否尝试在本地变量上设置该属性?

acb.Text = string.Empty;

我有一种感觉,当焦点或textchange事件触发时,可能会有额外的代码影响。text字段

我想在花了大量时间研究这个和XAML之后,我找到了答案。当IsTextCompletionEnabled选项在XAML中设置为true时,此代码示例将无法工作。我将其设置为false,这段代码可以正常工作。