Holen Sie das Kontrollkästchen Wert in wpf datagrid

habe ich ein datagrid in wpf habe ich mehrere Zeilen(items) in das datagrid-und eine checkbox-Spalte in jeder Zeile. ich möchte, um zu überprüfen, in alle Zeilen, wenn der checkbox überprüft wird in einer Zeile, und dann die Aktion ausführen, die unten ist mein code. Danke!

WPF-Code

<DataGrid CanUserAddRows="False" AutoGenerateColumns="False"
                  CellEditEnding="SaveDeliveryValue" LoadingRow="DataGrid_LoadingRow"
                  Name="ViewOrdersGrid" HorizontalAlignment="Center" Margin="0,10,0,0" 
                  VerticalAlignment="Top" Height="278" Width="520" BorderBrush="#FFA0A0A0">
            <DataGrid.Columns>
                <DataGridTextColumn  Header="Order No" Width="115" Binding="{Binding Path=BONo, Mode=OneWay}" />
                <DataGridTextColumn Header="Order Date" Width="100" Binding="{Binding Path=BODate, Mode=OneWay, StringFormat=d}" />
                <DataGridTextColumn Header="Total Amount" Width="100" Binding="{Binding Path=BOTotal, Mode=OneWay}" />
                <DataGridTextColumn Header="Total Bikes" Width="100" Binding="{Binding Path=BOTatalBikes, Mode=OneWay}" />
                <DataGridCheckBoxColumn Header="Delivered" x:Name="DeliveryValueCheck" Width="70" Binding="{Binding Path=BODelivered, Mode=TwoWay}" />
            </DataGrid.Columns>
        </DataGrid>

C# - code

private void Window_Loaded(object sender, RoutedEventArgs e)
        {

            for (int i = 0; i < ViewOrdersGrid.Items.Count; i++)
            {
                CheckBox mycheckbox = ViewOrdersGrid.Columns[4].GetCellContent(ViewOrdersGrid.Items[i]) as CheckBox;
                if (mycheckbox.IsChecked == true)
                {
                    MessageBox.Show("Checked");
                }

            }
        }
  • Verwenden Sie nicht den prozeduralen code zu "Lesen" - UI-Elemente-Eigenschaften in WPF. UI ist nicht Daten. Erstellen Sie eine korrekte ViewModel und Datenbindung statt.
InformationsquelleAutor Ahmad Gulzar | 2013-09-23
Schreibe einen Kommentar