我目前在我的項目中使用此AutoCompleteTextBox
:WPFTextBoxAutoCompleteUpdateSourceTrigger使用C#WPF
我的文本框結合員工姓名的List<string>
。我是這樣做的;
<TextBox
Width="250" Height="50" HorizontalAlignment="Center"
Text="{Binding Name, UpdateSourceTrigger=PropertyChanged}"
behaviors:AutoCompleteBehavior.AutoCompleteItemsSource="{Binding Employees}"
/>
我想什麼TextBox
做的是提供一個建議,當用戶鍵入一個僱員的名字。然而,根本沒有任何建議,這導致我相信我沒有正確地綁定UpdateSourceTrigger
。
如果我只將行爲綁定到List<string>
那麼Text="{Binding Name, UpdateSourceTrigger=PropertyChanged}"
如何在沒有員工姓名的屬性時工作?我有點不確定需要更改什麼來觸發更新源。
網站提供此解釋:現在,每次更改datacontext的「TestText」屬性時,WPFTextBoxAutoComplete都會爲您提供自動完成建議。
但是,我不相信我的DataContext
有一個「名稱」屬性。
編輯:
/**** AutoComplete ****/
public static readonly DependencyProperty AutoCompleteTest = DependencyProperty.Register(
"Test", typeof(string), typeof(CompanyManagement), new PropertyMetadata(default(string)));
public string Test
{
get { return (string)GetValue(AutoCompleteTest); }
set { SetValue(AutoCompleteTest, value); }
}
文本框XAML
<TextBox
Width="250" Height="50" HorizontalAlignment="Center"
Text="{Binding Test, UpdateSourceTrigger=PropertyChanged}"
behaviors:AutoCompleteBehavior.AutoCompleteItemsSource="{Binding Employees}"
/>
可以調試結合並看清文字究竟發生了什麼。你可以通過在文本中加入Text =「{Binding Name,diagnostics:PresentationTraceSources.TraceLevel = High,UpdateSourceTrigger = PropertyChanged}」並添加'xmlns:diagnostics =「clr-namespace:System.Diagnostics; assembly = WindowsBase「'到窗口定義 – Zippy