我想从WPF中的数据网格中获取值关闭复选框 这是我的代码 [XAML]
<DataGrid Grid.Row="0" Grid.Column="3" Name="grdModules" Width="371" AutoGenerateColumns="False" CanUserAddRows="False"
IsReadOnly="False" CanUserDeleteRows="True" ItemsSource="{Binding}"
SelectionChanged="grdModules_SelectionChanged"
Grid.ColumnSpan="2" Height="150" Margin="126,0,-45,0" Grid.RowSpan="5">
<DataGrid.Columns>
<DataGridTextColumn Header="Module" Width="71" Binding="{Binding ModuleName}"></DataGridTextColumn>
<DataGridTemplateColumn Header="Autoriser" Width="100">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Autoriser, Mode=TwoWay}" ></CheckBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Autoriser, Mode=TwoWay}" ></CheckBox>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Accès à l'administrateur" Width="100">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding GrantToAdmin, Mode=TwoWay}"></CheckBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding GrantToAdmin, Mode=TwoWay}"></CheckBox>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Accès à l'utilisateur" Width="100">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding GrantToUser, Mode=TwoWay}"></CheckBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding GrantToUser, Mode=TwoWay}"></CheckBox>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
我的[ViewModel]
public class ModuleAccessVM : ViewModelBase
{
[DataMember]
public int ModuleId { get; set; }
[DataMember]
public string ModuleName { get; set; }
[DataMember]
public string ModuleDescription { get; set; }
[DataMember]
public bool Autoriser { get; set; }
[DataMember]
public bool GrantToAdmin { get; set; }
[DataMember]
public bool GrantToUser { get; set; }
}
请帮助我想关闭chekbox的值,当我选中并取消选中某个复选框时,我循环通过itemSource我总是从db获取默认值!!!
答案 0 :(得分:1)
解决方案是你juste必须添加UpdateSourceTrigger = PropertyChanged并循环遍历网格ItemSsource -