2013-07-02 83 views
2

我的項目有一點問題。我有一個ListBoxCheckbox爲每個項目。 CheckboxListBox獲取內容,但是如何從複選框連接項目的選擇和IsChecked?列表框和複選框 - XAML/C# - Windows 8應用程序

我的計劃是,當您選中複選框時,具有複選框的行將被刪除。我怎麼做?

我的XAML至今:

<ListBox x:Name="To_do_Liste" ItemsSource="{Binding}" Height="593" 
    Margin="0,85,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5" 
    BorderBrush="#FDFFE818" Background="#FFFFE818" 
    IsSynchronizedWithCurrentItem="False" IsDoubleTapEnabled="True" 
    IsHoldingEnabled="True" IsRightTapEnabled="True" 
    ScrollViewer.VerticalScrollBarVisibility="Auto" ManipulationMode="All" 
    FontFamily="SketchFlow Print" HorizontalAlignment="Left" Width="320" 
    SelectionMode="Extended"> 
    <ListBox.ItemTemplate> 
    <DataTemplate> 
     <ListBoxItem HorizontalContentAlignment="Stretch"> 
     <CheckBox x:Name="CheckBox1" Foreground="Black" 
      BorderBrush="#FF007FFF" Content="{Binding}" FontFamily="SketchFlow Print" 
      FontSize="26" /> 
     </ListBoxItem> 
    </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 
+0

在WPF將被'<複選框=器isChecked {結合IsSelected,的RelativeSource = {的RelativeSource AncestorType =一個ListBoxItem}}「/>'我不知道,如果它工作在WinRT中,雖然。順便說一句刪除'ItemTemplate'的'ListBoxItem'你不需要這樣 –

+0

這是行不通的,因爲Win Metro應用不支持AncestorType :( –

回答

0

您可以攜帶您的ObservableCollection添加selectionchange事件處理程序,以列表框,在這裏你可以使用複選框的一些其他財產的selectedIndex檢查哪些複選框被選中要麼現在更新到列表框是綁定的。

private void ListBox_SelectionChanged_1(object sender, SelectionChangedEventArgs e) 
    { 
     CheckBox chkbx = sender as CheckBox; 

    } 
+0

這裏的問題是處理程序在選擇已經改變時沒有記錄。 –