ビューモデルからの監視可能なコレクションにバインドされたデータグリッドがあります。これはすべて正常に機能し、データがデータグリッドに表示されます。
私が今する必要があるのは、ユーザーがテキストを変更したときにいくつかの列を検証することです。これを行うために IDataErrorInfo を使用しています。
私が次のことをした場合: -
**<TextBox
Width="100"
Text="{Binding Path=CallCode,
Mode=TwoWay,
ValidatesOnDataErrors=True,
UpdateSourceTrigger=PropertyChanged }"/>**
これは機能し、ビューモデルで検証コードをトリガーしますが、このコードを以下のようにデータグリッドに追加しても何もしません!:-
<Border x:Name="body"
DockPanel.Dock="Top"
Grid.Row="2"
Grid.Column="0">
<!-- Results -->
<DataGrid x:Name="Results"
ItemsSource="{Binding CallCodesList}"
AutoGenerateColumns="False"
ScrollViewer.CanContentScroll="True"
ScrollViewer.VerticalScrollBarVisibility="Auto"
CanUserAddRows="False">
<DataGrid.Columns >
**<DataGridTextColumn
Header="Call Code"
CanUserSort="True"
Width="100"
Binding="{Binding CallCode,
ValidatesOnDataErrors=True,
UpdateSourceTrigger=PropertyChanged />**
<DataGridCheckBoxColumn Width="70"
Binding="{Binding Path=HasSpeech}"
Header="Speech"
IsThreeState="True">
<DataGridCheckBoxColumn.ElementStyle>
<Style TargetType="CheckBox">
<Setter Property="IsChecked" Value="{Binding HasSpeech}" />
</Style>
</DataGridCheckBoxColumn.ElementStyle>
</DataGridCheckBoxColumn>
</DataGrid>
</Border>
私が欠けているものがありますか、それともデータグリッドにあるために何かを見ることができませんか?これはすべて新しいので、現在立ち往生しています:(
これに関するどんな助けも素晴らしいでしょう。