2012-06-06 44 views
0

默認情況下,某些列表框項目被選中,其中一些列表框被取消選中。 然後用戶可以能夠改變選中或取消選中的items.please告訴我如何維護檢查IDS,IDS選中..如何獲取wp7中列表框中已選中和未選中複選框項目的ID?

private void CheckBox_Checked(object sender, RoutedEventArgs e) 
     { 
      ListBoxItem checedItem = this.listBox2.ItemContainerGenerator.ContainerFromItem((sender as CheckBox).DataContext) as ListBoxItem; 
      if (checedItem != null) 
      { 
       checedItem.IsSelected = true; 
      } 

     } 
private void CheckBox_Unchecked(object sender, RoutedEventArgs e) 
     { 
      ListBoxItem checedItem = this.listBox2.ItemContainerGenerator.ContainerFromItem((sender as CheckBox).DataContext) as ListBoxItem; 
      if (checedItem != null) 
      { 
       checedItem.IsSelected = false; 
      } 
     } 

string result1 = e.Result.ToString(); 

       XDocument xmlDocu = XDocument.Load(new MemoryStream(System.Text.UTF8Encoding.UTF8.GetBytes(result))); 

       interestrates = (from rts in xmlDocu.Descendants("Friend") 

           select new SampleCheckedData 
           { 

            Id = (string)rts.Element("userid"), 
            Name = (string)rts.Element("name"), 
            Icon = (string)rts.Element("imageurl"), 
            IsChecked = !(Boolean)rts.Element("visiblestatus"), 

           }).ToList<SampleCheckedData>(); 

       this.listBox2.ItemsSource = interestrates; 

<ListBox x:Name="listBox2" SelectionMode="Multiple" Margin="0,67,0,0"> 
        <ListBox.ItemTemplate> 
         <DataTemplate> 
          <StackPanel Orientation="Horizontal"> 
          <Image Source="{Binding Icon}" Stretch="Fill" MaxHeight="Infinity" MaxWidth="Infinity" Width="100" Height="100" /> 

           <TextBlock Text="{Binding Name}" Width="300" VerticalAlignment="Center" TextWrapping="NoWrap" FontSize="22" /> 
          <CheckBox IsChecked="{Binding IsChecked}" Checked="CheckBox_Checked" Unchecked="CheckBox_Unchecked"/> 
         </StackPanel> 
         </DataTemplate> 
        </ListBox.ItemTemplate> 
       </ListBox> 

編輯:

private void btnDone_Click(object sender, RoutedEventArgs e) 
     { 
      var checkedItems = from item in interestrates where item.IsChecked select item.Id; 
      var uncheckedItems = from item in interestrates where !item.IsChecked select item.Id; 
} 

請告訴我如何維護檢查userids,unchecked userids .....

+0

查詢到的東西也顯示覆選框的XAML在列表框中 – nkchandra

回答

1

假設你將你的集合存儲在你的代碼中的某個地方,而不是直接將它分配給ListBox ItemsSource屬性,你應該能夠簡單地查看你的集合項目的屬性。 ..

var checkedItems = from item in interestrates where item.IsChecked select item; 
var uncheckedItems = from item in interestrates where !item.IsChecked select item; 

如果你只想要的用戶id,然後改變像

var checkedItems = from item in interestrates where item.IsChecked select item.Id; 
var uncheckedItems = from item in interestrates where !item.IsChecked select item.Id; 
+0

爲什麼我收到的checkeditems,uncheckeditems總是空值? – WP7

+0

沒有看到您的數據,我不知道。您可能需要修改代碼 - 這是爲了讓您瞭解您需要做什麼來實現您所需的解決方案,而不是您需要的確切代碼。 – ZombieSheep

+0

我顯示的複選框默認數據庫values.after用戶選中和取消選中複選框需要獲取修改的用戶ID ...請檢查我的修改代碼... – WP7

相關問題