2016-01-07 2 views
0

У меня проблема с привязкой к RadioButton.Below - это мой код xaml.Ошибка привязки кнопок передачи данных WPF DataGrid

<Grid Style="{DynamicResource MainFrameGrid1}"> 
<Grid Name="grdPCM"> 
<DataGrid AutoGenerateColumns="False" Height="407" HorizontalAlignment="Left" Margin="18,102,0,0" Name="dgMI" VerticalAlignment="Top" Width="781" 
         CanUserAddRows="False" CanUserDeleteRows="False" CanUserReorderColumns="False" CanUserResizeColumns="True" CanUserSortColumns="False" SelectionMode="Single" 
         SelectionUnit="Cell" EnableColumnVirtualization="True"> 
       <DataGrid.Columns> 
        <DataGridTemplateColumn> 
         <DataGridTemplateColumn.CellTemplate> 
          <DataTemplate> 
           <RadioButton Name="rbM" GroupName="CMGrp" IsChecked="{Binding Path=SELECT, Mode=TwoWay}" /> 
          </DataTemplate> 
         </DataGridTemplateColumn.CellTemplate> 
        </DataGridTemplateColumn> 
     </DataGrid.Columns> 
</DataGrid> 
</Grid> 
</Grid> 

В коде позади я делаю вот так. Я получаю данные из базы данных и сохраняю их в DataTable «dtMIData». Затем я временно добавляю булевский столбец под названием «SELECT» и назначаю его в сетку данных, как показано ниже в коде.

DataColumn dcRB = new DataColumn("SELECT"); 
dcRB.DataType = Type.GetType("System.Boolean"); 
dcRB.DefaultValue = false; 
dtMIData.Columns.Add(dcRB); 
dtMIData.AcceptChanges(); 
dgMI.ItemsSource = dtMIData.AsDataView(); 

Я связывание этого нового столбца «SELECT» с RadioButton control.I нужно выбрать только одну запись, из нескольких найденных записей и хочет получить выбранную запись в коде, основанный на «SELECT «Значение столбца value.ie« SELECT »равно true. Но даже если RadioButton отмечен, обязательный столбец привязки« SELECT »не обновляется со значением true. Как отразить проверенное состояние в соответствующем столбце привязки?

ответ

0

В DataGrid привязки не обновляются, пока вы не закончите редактирование строки. Попробуйте добавить UpdateSourceTrigger=PropertyChanged к связывающим выражению RadioButton «s немедленно обновить привязки:

<RadioButton Name="rbM" GroupName="CMGrp" IsChecked="{Binding Path=SELECT, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" /> 
+0

благодарности за reply.mentioned решения работает для меня. – user5668833