2

我在我的项目中遇到了绑定问题。我有一个数据网格,默认情况下我定义了 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>

我希望有可能使用按钮添加列并将新列与第二个列表绑定。

我的代码在后面,当我单击按钮时,我将一个元素添加到我的第二个列表中,并执行以下代码

DataGridTextColumn textColumnTranche = new DataGridTextColumn();
textColumnTranche.Header = "Tranche X";
textColumnTranche.Binding = new Binding("ListeTranche[3]");
dg_HeaderTranche.Columns.Add(textColumnTranche);

我的新列已创建,我可以填充它,但是当我将数据保存在数据库中时,值仍为 0。我认为这是因为我没有将绑定模式配置为 TwoWay,但我不知道该怎么做后面的代码。

我的列表在 ViewModel 中定义和使用。

4

1 回答 1

1

如何设置 BindingMode = TwoWay:

textColumnTranche.Binding = new Binding("ListeTranche[3]") { Mode = BindingMode.TwoWay };
于 2012-10-17T12:12:33.523 回答