Q: dataGrid 検証ルールが、行/セルの変更前ではなく変更後に入力を検証するようにするにはどうすればよいですか。
C:自動生成された列と検証ルールを含む datatgrid があります。
<DataGrid x:Name="dataGrid"
RowDetailsVisibilityMode="VisibleWhenSelected"
VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Auto"
EnableRowVirtualization="True"
AutoGenerateColumns="True"
ItemsSource="{Binding}"
SelectionMode="Extended">
<DataGrid.RowValidationRules>
<test:TableValidationRules/>
</DataGrid.RowValidationRules>
</DataGrid>
データグリッドは、データベースからのデータを入力した後、dataTable にバインドされます ....
sqlAdapter.Fill(dataTable);
dataGrid.DataContext = dataTable.DefaultView;
...
プログラムを開始すると、すべてのデータが期待どおりに視覚化され、ビルド時にデータグリッドの検証がトリガーされます。しかし、新しいデータをdataGridに追加すると、たとえば新しい行で、特定のセルに書き込んだデータを考慮せずに、変更されていないデータに対して検証が行われます。
詳細を忘れてしまったようで、解決策はそう遠くないようです。dataTable と DataGrid の間のバインドの問題ですか? または、プログラムで検証をトリガーする必要がありますか? それを処理する最良の方法は何ですか?