AutoCompleteBox 控件

  首先 ,我们需要知道的是这个控件的命名空间,因为昨天就发生了一件比较尴尬的事,比如我们几个人在做项目,我没有把工程迁出,然后我在做的时候往项目里面加了一个autocompletebox控件,由于我是直接从工具箱里面点出来的,所以他直接在我的引用那边加了几个,而我却没有感觉,放上去之后,同事们在用的时候就会发现缺少引用。……

  System.Windows.Controls.input 和System.Windows.Controls.Data.Input  两个引用

使用方法:

  先往xaml页面里面拉一个Autocompletebox控件,但是此时你xaml页面的引用却不是写上面那两个,因为在silverlight4.0中这个控件的前缀是sdk所以我们要加sdk的引用集

xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"

然后在页面里设置他的一些属性

xaml页面的代码:

<sdk:AutoCompleteBox x:Name="autoComplete2"   IsTextCompletionEnabled="False" Margin="0,0,5,0" Width="55" Height="25" Foreground="Black"
                          HorizontalAlignment="Center" VerticalAlignment="Center"   MouseLeftButtonDown="autoComplete2_MouseLeftButtonDown"  GotFocus="autoComplete2_GotFocus">

                </sdk:AutoCompleteBox>

然后CS里面的代码:

 autoComplete2.FilterMode = AutoCompleteFilterMode.Contains;  //设置该控件的筛选模式,我这边设置的是包含

autoComplete2.ItemsSource = aps;                //这是数据绑定,你可以在任意的地方进行数据绑定

  private void autoComplete2_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)   //这个事件其实只能在你点击边框的时候让下拉框出现
        {
            autoComplete2.MinimumPrefixLength = 0;          //一定要有这一行,不然你的isdropdownopen属性怎么设置都是false
            autoComplete2.IsDropDownOpen = true;
        }

    private void autoComplete2_GotFocus(object sender, RoutedEventArgs e)
        {
            autoComplete2.MinimumPrefixLength = 0;
            autoComplete2.IsDropDownOpen = true;
        }

 

posted @ 2010-11-16 09:36  MK_Sun  阅读(624)  评论(2编辑  收藏  举报