2016-05-13 2 views
0

У меня есть <Checkbox/> в моем <GridView.ItemTemplate>. Как обращаться с <Checkbox/> относительно элемента, в котором он находится?Флажок в ItemTemplate

Например,, I want to delete item when checkbox checked.

Я думаю, что должен написать здесь. Но что?

private void CheckBox_Checked_1(object sender, RoutedEventArgs e) 
{ 

} 

Вот моя 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

Попробуйте var item = (отправитель как флажок) .DataContext как ваш класс. Вы получите товар, который установлен – Archana

+0

@LovetoCode Это работает! благодаря – SuxoiKorm

ответ

0

Проблема заключается в том, что вы почти наверняка хотите, чтобы иметь возможность использовать DataContext в обработчике щелчка, но вы не получите, что легко, просто имея ссылку на CheckBox, который будет аргументом отправителя в вашем обратном вызове. Обычно то, что вы сделаете здесь, это создать Command на модели представления вашего объекта и привязать к нему и любую дополнительную информацию, которую вы хотите передать, вы пройдете через CommandParameter.

Как только вы это сделаете, вы теперь работаете в своей модели просмотра со ссылкой на любую часть информации, которая вам нужна через параметр команды (например, вы можете установить CommandParameter = "{Binding}", чтобы получить весь контекст данных, который будет представлять собой элемент просмотреть модель и которая будет доступна из вашего Command в качестве аргумента для нее). Вы должны решить эту проблему таким образом.

Смежные вопросы