2013-11-27 27 views
1

獲得值關複選框我想從一個DataGrid中獲得的價值關複選框在WPF 這是我的代碼 [XAML]DataGrid中

<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> 

我的[視圖模型]

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時,我總是從數據庫獲取默認值!

+0

你需要通知你ModuleAccessVM – ethicallogics

+0

確定的性質,以及如何通知我所有的ModuleAccessVM的屬性? –

+0

謝謝你沒關係你必須添加UpdateSourceTrigger = PropertyChanged並循環遍歷grid ItemSource –

回答

1

的解決方案,你中庸之道必須添加UpdateSourceTrigger =的PropertyChanged和循環throught電網的ItemSource -