A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 夏华成 中级黑马   /  2012-5-19 09:47  /  2609 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

以下是本人QQ空间早期日记. 都是自己实际工作中用到的(分享一下)
  1. <input:AutoCompleteBox x:Name="autoCompleteBox" Width="100" Height="30" Margin="10"
  2. MinimumPrefixLength="0" IsTextCompletionEnabled="True" MaxDropDownHeight="100"
  3. FilterMode="Custom" Populating="autoCompleteBoxPopulate_Populating"
  4. MinimumPopulateDelay="500"/>
  5. 说明
  6. <!--
  7. MinimumPrefixLength - 如需显示自动完成的匹配项,所需输入的最少字符数
  8. IsTextCompletionEnabled - 是否在 Text 中显示当前匹配项的全部内容
  9. MaxDropDownHeight - 下拉框的最大长度
  10. FilterMode - 根据用户的输入,对数据源做过滤的方式,默认值:StartsWith [System.Windows.Controls.AutoCompleteFilterMode 枚举]
  11. 本例演示如何实现自定义的过滤
  12. DropDownOpening, DropDownOpened, DropDownClosing, DropDownClosed - 顾名思义的几个事件
  13. -->
  14. <!--
  15. Populating, Populated - 调用 按需加载数据服务 的一对事件
  16. MinimumPopulateDelay - 调用 按需加载数据服务 的延迟时间。即在用户的输入发生改变时,此时间后调用指定的服务
  17. -->

复制代码
后台程序
  1. private void Init()
  2. {
  3. // IsDropDownOpen - 是否显示自定完成的下拉框
  4. autoCompleteBox.GotFocus += delegate { autoCompleteBox.IsDropDownOpen = true; };
  5. autoCompleteBox.Focus();


  6. List<string> collection = new List<string>();
  7. collection.Add("aabb");
  8. collection.Add("aabc");
  9. collection.Add("abcc");
  10. collection.Add("abbc");
  11. collection.Add("aaab");
  12. collection.Add("bcca");
  13. collection.Add("bbac");
  14. collection.Add("cbaa");
  15. collection.Add("ccaa");
  16. collection.Add("cccb");
  17. collection.Add("cccc");
  18. collection.Add("cabc");
  19. collection.Add("cabb");

  20. autoCompleteBox.ItemsSource = collection;


  21. /**/
  22. /*
  23. * ItemFilter - 过滤下拉框内的对象
  24. * TextFilter - 过滤下拉框内的字符串
  25. * SearchText - 以此值为参数,过滤下拉框中的数据
  26. * SelectedItem - 下拉框当前所选中的对象
  27. */

  28. // 自定义 FilterMode
  29. // 第一个参数:用户输入的值;第二个参数:下拉框中的对象
  30. autoCompleteBox.ItemFilter += (search, value) =>
  31. {
  32. if (value.ToString().ToLower().StartsWith(search.ToLower()) || value.ToString().ToLower().EndsWith(search.ToLower()))
  33. return true;

  34. return false;
  35. };
  36. }

复制代码

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

1 个回复

正序浏览
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马