就像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属性似乎不起作用。我错过了一些明显的东西吗?
答案 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;
}