Я не уверен, где именно может быть ваша проблема, но я попробовал следующее, и все работает как положено:
У меня есть простой класс Person:
public class Person : ObservableObject
{
private string name;
public string Name
{
get { return name; }
set
{
if (name == value)
return;
name = value;
RaisePropertyChanged(() => Name);
}
}
private int? age;
public int? Age
{
get { return age; }
set
{
if (age == value)
return;
age = value;
RaisePropertyChanged(() => Age);
}
}
}
У меня также есть простая модель представления с ObservableCollection<Person>
, которая называется Data
. Ответ, вот мой XAML:
<sdk:DataGrid Name="dataGrid" ItemsSource="{Binding Data}" AutoGenerateColumns="False"
SelectedItem="{Binding SelectedPerson, Mode=TwoWay}" Grid.Row="1">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Binding="{Binding Name, Mode=TwoWay}"/>
<sdk:DataGridTextColumn Binding="{Binding Age, Mode=TwoWay}"/>
</sdk:DataGrid.Columns>
</sdk:DataGrid>
Я проверил, как это работает, установив точку останова в Setter для моего свойства Age
, и оно показывает значение, поступающее как null
Надеюсь, это поможет;)