我在项目中遇到了绑定问题。 我有一个数据网格,我默认定义了2列。 ItemsSource绑定到一个列表(ListeGrilleTarifaire),列的内容绑定到第一个列表中包含的第二个列表(ListeTranche)的元素。
<techuc:DataGridM Name="dg_HeaderTranche" AutoGenerateColumns="False" ItemsSource="{Binding ListeGrilleTarifaire}" CanUserAddRows="False" CanUserDeleteRows="False" Visibility="{Binding accesGrilleMultiDepartement}" Height="42" Margin="440,0,0,0" VerticalAlignment="Top">
<DataGrid.Columns>
<DataGridTextColumn Header="{x:Static trad:Langues.lblTranche1}" Binding="{Binding ListeTranche[0],Mode=TwoWay}" Width="80"/>
<DataGridTextColumn Header="{x:Static trad:Langues.lblTranche2}" Binding="{Binding ListeTranche[1],Mode=TwoWay}" Width="80"/>
</DataGrid.Columns>
我希望可以使用按钮添加列并将新列与第二个列表绑定。
我的代码落后,当我点击按钮时,我在第二个列表中添加了一个元素并执行了followinf代码
DataGridTextColumn textColumnTranche = new DataGridTextColumn();
textColumnTranche.Header = "Tranche X";
textColumnTranche.Binding = new Binding("ListeTranche[3]");
dg_HeaderTranche.Columns.Add(textColumnTranche);
我的新列已创建,我可以填写它但是当我在数据库中保存数据时,值仍然是0.我认为这是因为我没有将绑定模式配置为TwoWay但我不知道如何在后面的代码中做到这一点。
我的列表已在ViewModel中定义和使用。
答案 0 :(得分:1)
如何设置BindingMode = TwoWay:
textColumnTranche.Binding = new Binding("ListeTranche[3]") { Mode = BindingMode.TwoWay };