2009-07-06 7 views
1

제공된 대답을 통해 작업했습니다 : here. ListBox에 자동으로 생성 된 하이퍼 링크 단추 목록을 만들 수있었습니다. 목표는 다른 사용자가 상자에 입력하고 단추를 클릭하면 이전 아티스트가 제거되고 (유효한 사용자 이름 인 경우) 새 last.fm 사용자의 아티스트로 대체된다는 것입니다. 그러나 이제이 줄이 작동하지 않습니다.ListBox에서 자동으로 하이퍼 링크 단추 제거

ArtistsList.Items.Clear(); 

이것은 텍스트의 위치는? 그렇다면 누구나 Go! 하이퍼 링크 버튼을 제거하는 또 다른 방법을 알고 있습니까? 버튼을 다시 클릭 했습니까? 도움이된다면 필자는 적절한 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> 

나는이 필요한 코드의 모든 질문에 대답하는 것입니다 생각합니다. 그렇지 않은 경우 더 제공 할 수 있습니다.

+0

"작동하지 않는다"는 것은 무엇을 의미합니까? 예외? 조용히 무시 했나요? 어떤 식으로 목록에 항목을 추가합니까? – flq

답변

2

ArtistsList.Items.Clear(); 그냥 시도하십시오 ArtistsList.ItemsSource = null; ArtistsList.ItemsSource = [newlistsource]. 대답을 이해할 수 없다면 답장을 보내주십시오.

0

mrsaif가 맞습니다. 목록이 바운드되어 있으므로 수동으로 지우지 마십시오. SL3에서 오류가 발생하고 항목을 제거하면 null이 삭제됩니다 리스트의 내용