0

我正在银光中制作应用程序。在该应用程序中,我使用数据网格作为

 <data:DataGrid Grid.Row="1" HorizontalAlignment="Left" IsReadOnly="True" Name="dataGrid1" VerticalAlignment="Top" AutoGenerateColumns="False" DataContext="{Binding}" SelectionMode="Single" LoadingRow="ResultsGrid_LoadingRow">
                        <data:DataGrid.Columns>
                            <data:DataGridTextColumn Header=" BedId " Binding="{Binding  BedID }" />
                            <data:DataGridTextColumn Header="PatientName" Binding="{Binding PatientName}" />
                            <data:DataGridTextColumn Header="AdmitDate" Binding="{Binding AdmitDate}" />
                            <data:DataGridTextColumn Header="BirthDate" Binding="{Binding BirthDate}" />
                            <data:DataGridCheckBoxColumn Header="checkbox" Binding="{ Binding }" IsReadOnly="False" />                          
                        </data:DataGrid.Columns>
                    </data:DataGrid>

每当在我的应用程序中加载数据网格时,它都会显示数据网格以及相应的值。在我的应用程序中,我想在每列前面显示复选框,上面的代码在每列前面显示复选框。但是每当我单击该复选框时,它都不会显示任何检查事件。我想根据条件选择单个或多个复选框。但我不知道该怎么做。请帮助我。提前致谢。

4

1 回答 1

0

你有几个选择。1.设置DataGrid上的选择更改事件,并在选择行时,在该方面修改绑定复选框。

如果您需要更多控制,例如在选中复选框时触发事件,我会用 DataTemplate 替换 DataGridColum,例如:

<DataGridTemplateColumn Header="Checkbox">
<DataGridTemplateColumn.CellTemplate>
      <DataTemplate>
           <CheckBox IsChecked="{Binding Path=someProperty, UpdateSourceTrigger=PropertyChanged}" Click="CheckBox_Click"/>
     </DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

然后在你的代码后面

private void CheckBox_Click(object sender, RoutedEventArgs e)
{
//I realize you don't have message box in silverlight but this demonstrates the firing of the event
MessageBox.Show("click");
}
于 2012-07-10T14:41:33.737 回答