プロジェクトでバインディングに問題があります。デフォルトで2列を定義するデータグリッドがあります。ItemsSource はリスト (ListeGrilleTarifaire) にバインドされ、列のコンテンツは最初のリストに含まれる 2 番目のリスト (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>
ボタンで列を追加し、新しい列を2番目のリストにバインドする可能性が欲しいです。
ボタンをクリックすると、2 番目のリストに要素が追加され、followinf コードが実行されます。
DataGridTextColumn textColumnTranche = new DataGridTextColumn();
textColumnTranche.Header = "Tranche X";
textColumnTranche.Binding = new Binding("ListeTranche[3]");
dg_HeaderTranche.Columns.Add(textColumnTranche);
新しい列が作成され、入力できますが、データベースにデータを保存すると、値はまだ 0 のままです。バインディング モードを TwoWay として構成していないためだと思いますが、それを行う方法がわかりませんコードビハインド。
私のリストは ViewModel で定義され、使用されます。