以下是本人QQ空间早期日记. 都是自己实际工作中用到的(分享一下)- <input:AutoCompleteBox x:Name="autoCompleteBox" Width="100" Height="30" Margin="10"
- MinimumPrefixLength="0" IsTextCompletionEnabled="True" MaxDropDownHeight="100"
- FilterMode="Custom" Populating="autoCompleteBoxPopulate_Populating"
- MinimumPopulateDelay="500"/>
- 说明
- <!--
- MinimumPrefixLength - 如需显示自动完成的匹配项,所需输入的最少字符数
- IsTextCompletionEnabled - 是否在 Text 中显示当前匹配项的全部内容
- MaxDropDownHeight - 下拉框的最大长度
- FilterMode - 根据用户的输入,对数据源做过滤的方式,默认值:StartsWith [System.Windows.Controls.AutoCompleteFilterMode 枚举]
- 本例演示如何实现自定义的过滤
- DropDownOpening, DropDownOpened, DropDownClosing, DropDownClosed - 顾名思义的几个事件
- -->
- <!--
- Populating, Populated - 调用 按需加载数据服务 的一对事件
- MinimumPopulateDelay - 调用 按需加载数据服务 的延迟时间。即在用户的输入发生改变时,此时间后调用指定的服务
- -->
复制代码 后台程序- private void Init()
- {
- // IsDropDownOpen - 是否显示自定完成的下拉框
- autoCompleteBox.GotFocus += delegate { autoCompleteBox.IsDropDownOpen = true; };
- autoCompleteBox.Focus();
- List<string> collection = new List<string>();
- collection.Add("aabb");
- collection.Add("aabc");
- collection.Add("abcc");
- collection.Add("abbc");
- collection.Add("aaab");
- collection.Add("bcca");
- collection.Add("bbac");
- collection.Add("cbaa");
- collection.Add("ccaa");
- collection.Add("cccb");
- collection.Add("cccc");
- collection.Add("cabc");
- collection.Add("cabb");
- autoCompleteBox.ItemsSource = collection;
- /**/
- /*
- * ItemFilter - 过滤下拉框内的对象
- * TextFilter - 过滤下拉框内的字符串
- * SearchText - 以此值为参数,过滤下拉框中的数据
- * SelectedItem - 下拉框当前所选中的对象
- */
- // 自定义 FilterMode
- // 第一个参数:用户输入的值;第二个参数:下拉框中的对象
- autoCompleteBox.ItemFilter += (search, value) =>
- {
- if (value.ToString().ToLower().StartsWith(search.ToLower()) || value.ToString().ToLower().EndsWith(search.ToLower()))
- return true;
- return false;
- };
- }
复制代码
|