回答はhereです。 ListBoxに自動的に生成されたハイパーリンクボタンのリストを作成することができました。目標は、別のユーザーがボックスに入力してボタンをクリックすると、古いアーティストが削除され(有効なユーザー名であることが前提)、新しいlast.fmユーザーのアーティストに置き換えられます。ただし、この行は機能しません。リストボックスから自動的にハイパーリンクボタンを削除する
ArtistsList.Items.Clear();
これはテキストのみですか?もしそうなら、誰かがハイパーリンクボタンを一度外す別の方法を知っていますか?ボタンをもう一度クリックしましたか?それが役に立つのであれば、私が関連するpage.xaml.csコードであると信じているものを提供します。
if (uname.Text != String.Empty && uname.Text != "Try Another One!")
{
App app = (App)Application.Current;
app.UserName = uname.Text;
String getTopArtists = "http://ws.audioscrobbler.com/2.0/?method=user.gettopartists&user=" + app.UserName + "&api_key=d2d620af554a60f228faed8d502c4936";
WebClient web = new WebClient();
WebClient client = new WebClient();
client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(DownloadStringCompleted);
client.DownloadStringAsync(new Uri(getTopArtists));
}
これは、HyperlinkButtonはPage.xamlをコードで次のようになります。
<ListBox FontFamily="Calibri" HorizontalAlignment="Center" VerticalAlignment="Center" Width="200" Height="200" Margin="50,140,50,50" x:Name="ArtistsList" Foreground="Crimson">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<HyperlinkButton Content="{Binding Name}" NavigateUri="{Binding Amazon}" TargetName="_blank" Width="173.5" Foreground="Crimson"></HyperlinkButton>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
私はこの質問に答えるために必要なコードのすべてであると信じています。そうでない場合、私はもっと多くを提供することができます。
「動作しない」とはどういう意味ですか?例外?黙って無視? どのように項目をリストに追加しますか? – flq