0
我在c#中用WPF 4.0和一個數據網格創建了一個小應用程序。 我的數據網格綁定到某些「數據表」組件的數據成員CAST DataGridView錯誤
我想在輸入一行後做一些測試,所以我使用RowEditEnding事件。
這裏是我的代碼
private void dataGrid1_RowEditEnding(object sender, DataGridRowEditEndingEventArgs e)
{
TableCompte Compte = e.Row.DataContext as TableCompte;
if (Compte != null)
{
// Verifs
}
}
我的問題是我的目標 「孔特」 爲空。
不過,我的「DataContext」價值很不錯!所以這是一個演員錯誤,但我的錯誤在哪裏?
這裏是我的XAML聲明:
<DataGrid AutoGenerateColumns="false" Name="dataGrid1" AreRowDetailsFrozen="false" Margin="31,227,28,82" RowEditEnding="dataGrid1_RowEditEnding">
<DataGrid.Columns>
<DataGridTextColumn Width="134" Header="Compte d'origine" Binding="{Binding Path=m_CompteOrigine, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
<DataGridTextColumn Width="134" Header="Compte Taux 1" Binding="{Binding Path=m_CompteTaux1, Mode=TwoWay ,UpdateSourceTrigger=PropertyChanged}" />
<DataGridTextColumn Width="134" Header="Taux 1" Binding="{Binding Path=m_Taux1, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged }" />
<DataGridTextColumn Width="134" Header="Compte Taux 2" Binding="{Binding Path=m_CompteTaux2, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" />
<DataGridTextColumn Width="134" Header="Taux 2" Binding="{Binding Path=m_Taux2, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged }" />
<DataGridTextColumn Width="134" Header="Compte Taux 3" Binding="{Binding Path=m_CompteTaux3, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" />
<DataGridTextColumn Width="134" Header="Taux 3" Binding="{Binding Path=m_Taux3, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged }" />
</DataGrid.Columns>
</DataGrid>
感謝很多:)
調試器?檢查'e.Row.DataContext'? –
什麼是dataGrid1的ItemsSource?它是一個數據表? –
e.row.dataContext是正確的!這就是爲什麼我知道這是一個Cast Error。 –