Вам не нужно событие SelectionChanged.Вам просто нужно, чтобы ваш класс модели реализовал интерфейс INotifyPropertyChanged , когда значение DataGridComboBoxColumn изменилось, значение свойства объекта модели также будет изменено.Затем вы можете изменить в нем значение других свойств.
Поскольку вы не предоставили свой код с выделенным кодом, поэтому я просто сделаю простой пример кода для справки:
<telerikGrid:RadDataGrid x:Name="ArticlesDataGrid" Margin="0,8,0,0"
ItemsSource="{x:Bind ViewModel}" UserEditMode="Inline" UserGroupMode="Disabled" AutoGenerateColumns="False" >
<telerikGrid:RadDataGrid.Columns>
<telerikGrid:DataGridComboBoxColumn PropertyName="Option" ItemsSourcePath="Options" />
<telerikGrid:DataGridTextColumn PropertyName="Total" CanUserEdit="False" />
</telerikGrid:RadDataGrid.Columns>
</telerikGrid:RadDataGrid>
public class Test : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private void RaisePropertyChanged(string PropertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(PropertyName));
}
}
private int _Total;
public int Total
{
get { return _Total; }
set
{
if (_Total != value)
{
_Total = value;
RaisePropertyChanged("Total");
}
}
}
private string _Option;
public string Option
{
get { return _Option; }
set
{
if (_Option != value)
{
_Option = value;
switch (value)
{
case "option1":this.Total = 1;break;
case "option2": this.Total = 2;break;
default: this.Total = 0;break;
}
RaisePropertyChanged("Option");
}
}
}
public ObservableCollection<string> Options { get; set;}
}
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
ViewModel = new ObservableCollection<Test>();
ViewModel.Add(new Test() {Total=0,Options=new ObservableCollection<string>() {"--","option1","option2" } });
ViewModel.Add(new Test() { Total = 0, Options = new ObservableCollection<string>() {"--" ,"option1", "option2" } });
}
public ObservableCollection<Test> ViewModel { get; set; }
}