天天看點

WP7 silverlight toolkit 之 AutoCompleteBox 應用學習

案例一:

xaml:

 <toolkit:AutoCompleteBox

                HorizontalAlignment="Left"

                Margin="43,43,0,0"

                Name="autoCompleteBox1"

                VerticalAlignment="Top"

                Width="351"

                 IsTextCompletionEnabled="True"

                /> 

這個很簡單,就是直接拖進來,多加了個IsTextCompletionEnabled屬性,設定邊輸的時候是否比對

cs:

            List<string> list = new List<string>();

            list.Add("aaaaaaa");

            list.Add("bbbbbbb");

            list.Add("ccccccc");

            list.Add("ddddddd");

            list.Add("eeeeeee");

            list.Add("fffffff");

            autoCompleteBox1.ItemsSource = list;

<!--StartFragment -->

--------------------------------------------------------------------

案例二:xaml:

<toolkit:AutoCompleteBox

                HorizontalAlignment="Left"

                Margin="43,121,0,0"

                Name="autoCompleteBox2"

                VerticalAlignment="Top"

                Width="351"

                ValueMemberPath="Key"

                >

                <toolkit:AutoCompleteBox.ItemTemplate>

                    <DataTemplate>

                        <StackPanel Orientation="Horizontal">

                            <Image Source="{Binding Value}" Width="100" Height="100"></Image>                          

                                <TextBlock Text="{Binding Key}" Margin="0,50"></TextBlock>                                              

                        </StackPanel>

                    </DataTemplate>                   

                </toolkit:AutoCompleteBox.ItemTemplate>                

            </toolkit:AutoCompleteBox>

這裡就有兩個顯示的,要注意的就是ValueMemberPath,這個是設定輸哪個值的時候進行比對,因為有兩個,你要設定一個

cs:

    Dictionary<string, string> dict = new Dictionary<string, string>();

            dict.Add("Monday", "/Image/1.jpg");

            dict.Add("Mm", "/Image/2.jpg");

            dict.Add("Mmmy", "/Image/3.jpg");

            dict.Add("Mommm", "/Image/1.jpg");          

            autoCompleteBox2.ItemsSource = dict;

---------------------------------------------------------------------

案例三:xaml:

<toolkit:AutoCompleteBox

                HorizontalAlignment="Left"

                Margin="43,302,0,0"

                Name="autoCompleteBox3"

                VerticalAlignment="Top"

                Width="372"

                ValueMemberPath="name"

                >

                <toolkit:AutoCompleteBox.ItemTemplate>

                    <DataTemplate>

                        <StackPanel>

                            <TextBlock Text="{Binding name}"></TextBlock>

                            <TextBlock Text="{Binding sex}" Foreground="Gray"></TextBlock>

                        </StackPanel>

                    </DataTemplate>

                </toolkit:AutoCompleteBox.ItemTemplate>

            </toolkit:AutoCompleteBox>

這個要注意的和上面的一樣

cs:

            List<Info> Infoa = new List<Info>();

            Info i = new Info();

            i.name = "jacklai";

            i.sex = "男";

            Infoa.Add(i);

            Info i1 = new Info();

            i1.name = "MarryLai";

            i1.sex = "女";

            Infoa.Add(i1);

            autoCompleteBox3.ItemsSource = Infoa;

______________________________________________________

屬性:

1.FilterMode:比對方式

2.IsDropDownOpen:下拉清單是否打開

3.IsTextCompletionEnable:自動完成比對填寫

4.MaxDropDownHeight:下拉清單的最大高度

5.MinimumPopulateDelay:最小比對時間

6.MinimumPrefixLength:最短比對長度

事件:

DropDownClosed/DropDownCloseing

DropDownOpened/DropDownOpening