0

私はListboxWP7ページにこのようなものを持っています

   <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>;

そして、オートコンプリートボックスの場合、オートコンプリートボックスを他のコレクションリストにバインドしたいので、ユーザーがテキストボックスに入力すると、ユーザーに提案が表示され、ユーザーが任意のアイテムを選択すると、このアイテムが他のコレクションリストに追加されます私は1つの問題に直面しています:リストボックス内のオートコンプリートボックスにリストをバインドして、さらに手続きを進めるにはどうすればよいですか?

アップデート

この方法でリストボックスコントロールを見つけようとしていますが、子に対して常に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);
4

1 に答える 1