私はListbox
WP7ページにこのようなものを持っています
<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);