簡體   English   中英

ItemTemplate中的復選框

[英]Checkbox in ItemTemplate

我的<GridView.ItemTemplate>有一個<Checkbox/> <GridView.ItemTemplate> 如何處理<Checkbox/>的元素?

例如 ,我要在選中復選框時刪除項目。

我認為應該在這里寫。 但是呢

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>

問題是,您幾乎肯定希望能夠在單擊處理程序中使用DataContext ,但是僅通過引用CheckBox (將作為回調中的sender參數)就不會那么容易。 通常,您將在項目的視圖模型上創建一個Command並綁定到該模型,您想要傳遞的任何其他信息都將通過CheckBoxCommandParameter傳遞。

完成此操作后,您現在可以在視圖模型中進行操作,並通過命令參數引用所需的任何信息(例如,您可以將CommandParameter = "{Binding}"為獲取整個數據上下文)該項目的視圖模型,並且可以從您的Command將該模型作為其參數進行訪問)。 您應該可以通過這種方式解決您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM