2016-05-13 12 views
0

Ich habe eine <Checkbox/> in meinem <GridView.ItemTemplate>. Wie gehe ich mit dem <Checkbox/> bezüglich des Elements um, in dem es ist?Checkbox in ItemTemplate

Zum Beispiel, ich möchte Artikel löschen, wenn das Kontrollkästchen aktiviert ist.

Ich denke, sollte hier schreiben. Aber was?

private void CheckBox_Checked_1(object sender, RoutedEventArgs e) 
{ 

} 

hier meine XAML:

<GridView Margin="0,10,0,0" 
     RelativePanel.AlignHorizontalCenterWithPanel="True" 
     x:Name="GridColections" 
     IsItemClickEnabled="True" 
     SelectionMode="None" 
     ItemsSource="{x:Bind DS.AllRem, Mode=OneWay}" 
     ItemClick="GridColections_ItemClick" > 
    <GridView.ItemTemplate> 
     <DataTemplate x:DataType="local:GetRem" > 
      <Grid Margin="-2,0,-6,0" BorderBrush="LightGray" BorderThickness="1" HorizontalAlignment="Stretch"> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="*" /> 
        <ColumnDefinition Width="40" /> 
       </Grid.ColumnDefinitions> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="30" /> 
        <RowDefinition Height="30" /> 
       </Grid.RowDefinitions> 
       <TextBlock TextTrimming="CharacterEllipsis" Grid.Column="0" Grid.Row="0" HorizontalAlignment="Stretch" TextWrapping="Wrap" Text="{x:Bind ReminderName}" Margin="5,5,0,0" FontSize="20"/> 
       <TextBlock TextTrimming="CharacterEllipsis" Grid.Column="0" Grid.Row="1" Width="600" TextWrapping="Wrap" Text="{x:Bind ReminderDescription}" Margin="5,5,0,0" FontSize="12"/> 
       <CheckBox Grid.Column="2" Grid.Row="0" Grid.RowSpan="2" VerticalAlignment="Center" Checked="CheckBox_Checked_1"/> 
      </Grid> 
     </DataTemplate> 
    </GridView.ItemTemplate> 
</GridView> 
+0

Versuchen Sie var item = (Absender als Kontrollkästchen) .DataContext als Ihre Klasse. Sie erhalten den Artikel, der überprüft wird – Archana

+0

@LovetoCode Es funktioniert! Vielen Dank – SuxoiKorm

Antwort

0

Das Problem ist, dass man mit ziemlicher Sicherheit die DataContext in Ihrem Click-Handler zu verwenden, um der Lage sein wollen, aber Sie werden das nicht leicht erhalten, indem nur eine Referenz mit an die CheckBox, die das Absenderargument in Ihrem Rückruf sein wird. Normalerweise würden Sie hier eine Command auf dem Ansichtsmodell Ihres Artikels erstellen und an diese binden, und alle zusätzlichen Informationen, die Sie weitergeben möchten, würden über die CheckBoxCommandParameter übergeben werden.

Sobald Sie dies tun, arbeiten Sie jetzt in Ihrem Ansichtsmodell mit einem Verweis auf alle Informationen, die Sie über den Befehlsparameter benötigen (z. B. CommandParameter = "{Binding}"), um den gesamten Datenkontext zu übernehmen Ansicht Modell und das wäre von Ihrem Command als ein Argument dazu zugänglich). Sie sollten in der Lage sein, Ihr Problem auf diese Weise zu lösen.

Verwandte Themen