簡體   English   中英

Windows Phone 7中的自動完成

[英]Autocomplete in windows phone 7

我的WP7頁面中有這樣的Listbox

   <ListBox Name="lstSelectedNumber" Height="50" MaxHeight="120" VerticalAlignment="Top" Grid.Column="1" SelectionChanged="lstSelectedNumber_SelectionChanged">
                        <ListBox.ItemContainerStyle>
                            <Style TargetType="ListBoxItem">
                                <Setter Property="Padding" Value="-15" />
                                <Setter Property="Margin" Value="0"/>
                            </Style>
                        </ListBox.ItemContainerStyle>
                        <ListBox.ItemsPanel>
                            <ItemsPanelTemplate>
                                <toolkit:WrapPanel>
                                </toolkit:WrapPanel>
                            </ItemsPanelTemplate>
                        </ListBox.ItemsPanel>
                        <ListBox.ItemTemplate>
                            <DataTemplate>
                                <toolkit:AutoCompleteBox x:Name="acBox" FilterMode="StartsWith" ValueMemberBinding="{Binding Name,Mode=TwoWay}">
                                    <toolkit:AutoCompleteBox.ItemTemplate>
                                        <DataTemplate>
                                            <StackPanel Orientation="Horizontal">
                                                <Image Source="{Binding Image}" Stretch="None" Margin="0,0,5,5"/>
                                                <TextBlock Text="{Binding Name}"/>
                                            </StackPanel>
                                        </DataTemplate>
                                    </toolkit:AutoCompleteBox.ItemTemplate>
                                </toolkit:AutoCompleteBox>
                            </DataTemplate>
                        </ListBox.ItemTemplate>
                    </ListBox>

我的Listbox附加到我的收藏List<SampleData>

lstSelectedNumber.itemsource = List<SampleData>;

對於我的自動完成框,我想將我的自動完成框綁定到其他集合列表,因此,當用戶在文本框中輸入內容時,它會向用戶顯示建議,並且一旦用戶選擇了任何項目,它就會將該項目添加到我的其他集合列表中,我面臨一個問題:如何將我的列表綁定到列表框中的autocompletbox,以便可以進行進一步的處理?

更新

我試圖以這種方式找到我的列表框控件,但它總是讓孩子返回0

 private void SearchVisualTree(DependencyObject targetElement)
        {
            var count = VisualTreeHelper.GetChildrenCount(targetElement);
            if (count == 0)
                return;

            for (int i = 0; i < count; i++)
            {
                var child = VisualTreeHelper.GetChild(targetElement, i);
                if (child is AutoCompleteBox)
                {
                    AutoCompleteBox myItems = (AutoCompleteBox)child;

                    if (myItems.Name == "acBox")
                    {
                       // My Logic
                        return;
                    }
                }
                else
                {
                    SearchVisualTree(child);
                }
            }
        }

這樣,我就調用了我的頁面構造函數

SearchVisualTree(this.lstSelectedNumber);
         List<WP7Phone> data = new List<WP7Phone>();

            foreach (lines l in result)
            {
                WP7Phone w7 = new WP7Phone();

                w7.Name = l.line.TrimStart();

                w7.Image = "images/thump.jpg";

                msg.Add(w7);
            }


            this.autoCompleteBox1.ItemsSource = data;


   public class WP7Phone
 {
    public string Name
  {
    get;
    set;
}
public string Image1
{
    get;
    set;
}

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM