Silverlight で初めて作業し、AutoCompleteBox を (Web サービス経由で) イメージ サムとイメージ タイトルにバインドしたい。イメージ タイトルを検索し、イメージ タイトルをバインドすることができる
作業工程
ウェブサービス
[WebMethod] public List<imagedata> Searchimage(string s) { var db = new PetaPoco.Database("sales"); var list = from search in db.Query<imagedata>("select * from imagedata").ToList() where search.imgname.Contains(s) select search; return list.ToList<imagedata>() ; }
xaml
<sdk:AutoCompleteBox x:Name="searchText" Populating="searchText_Populating" /> </StackPanel>
.cs
private void searchText_Populating(object sender, PopulatingEventArgs e) { mySoapClient proxy = new mySoapClient(); proxy.SearchimageCompleted += new EventHandler<SearchimageCompletedEventArgs>(proxy_ImageGetCompleted); proxy.SearchimageAsync(searchText.Text); } void proxy_ImageGetCompleted(object sender, SearchimageCompletedEventArgs e) { var searchResults = new List<imagedata>(e.Result); var data = new List<string>(); foreach (var x in searchResults) { data.Add(x.imgname); } searchText.ItemsSource = data; searchText.PopulateComplete(); }
画像のサムネイルと画像のタイトルの両方の画像 URL をバインドしたい場合は、次のプロセスを適用します
<sdk:AutoCompleteBox x:Name="searchText" Populating="searchText_Populating">
<sdk:AutoCompleteBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image x:Name="image1" Height="100" Width="100" Canvas.Left="0" Canvas.Top="0"></Image>
<TextBlock VerticalAlignment="Center" Margin="10 0 0 0" />
</StackPanel>
</DataTemplate>
</sdk:AutoCompleteBox.ItemTemplate>
コレクションをオートコンプリートボックスのデータテンプレートにバインドするにはどうすればよいですか?これに辞書を使用できますか? はいの場合、それをデータ テンプレートにバインドする方法