我有RadioButton绑定问题.Below是我的xaml代码。
<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&#34; dtMIData&#34;然后我暂时添加一个名为&#34; SELECT&#34;的布尔列。并在后面的代码中将其分配给数据网格,如下所示。
DataColumn dcRB = new DataColumn("SELECT");
dcRB.DataType = Type.GetType("System.Boolean");
dcRB.DefaultValue = false;
dtMIData.Columns.Add(dcRB);
dtMIData.AcceptChanges();
dgMI.ItemsSource = dtMIData.AsDataView();
我正在绑定这个新专栏&#34; SELECT&#34;使用RadioButton控件。我想从多个检索到的记录中只选择一条记录,并希望根据&#34; SELECT&#34;在后面的代码中检索所选记录。 column value.i.e。&#34; SELECT&#34;列值为true。但即使选中RadioButton,也需要绑定列&#34; SELECT&#34;没有使用值true更新。如何反映相关绑定列中的已检查状态?
答案 0 :(得分:1)
在DataGrid
中,在您结束对行的编辑之前,绑定不会更新。尝试将UpdateSourceTrigger=PropertyChanged
添加到RadioButton
的绑定表达式中,以立即更新绑定:
<RadioButton Name="rbM" GroupName="CMGrp" IsChecked="{Binding Path=SELECT, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />