如何清除自动填充框的值?

时间:2011-12-20 22:06:49

标签: c# wpf wpftoolkit

就像WPF中的许多内容一样,有时最简单的事情是最难找到的例子!如何清除AutoCompleteBox的当前文本?在我的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属性似乎不起作用。我错过了一些明显的东西吗?

3 个答案:

答案 0 :(得分:0)

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

acb.Text = string.Empty;

我感觉在焦点或文本更改事件触发时,可能会有其他代码影响.Text字段。

答案 1 :(得分:0)

我认为在花了大量时间和XAML后我找到了答案。当XAML中的IsTextCompletionEnabled选项设置为true时,此代码示例将不起作用。我把它设置为false,这段代码工作正常。

答案 2 :(得分:0)

您也需要重置所选项目。

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

    SearchAutoCompleteBox.Text = string.Empty;
}