Я использую ниже Datagrid (используя шаблон MVVM), здесь то, что я хочу, это когда я выбираю что-то в комбинированном ящике, в ViewModel должно происходить какое-то уведомление о том, что комбинированный список выбранных элементов этой строки изменяется на это значение.Прямо сейчас уведомление происходит в методе Set SelectedEname, который находится внутри класса SortedDetails (пользовательский объект) и не является частью viewmodel.Пожалуйста, взгляните на приведенный ниже код и дайте мне знать, если мы можем каким-либо образом отправить уведомление видеомодели, используя шаблон MVVM.
<c1:C1DataGrid x:Name="datagrid1" ItemsSource="{Binding Path=SortedDetailsList,Mode=TwoWay}" AutoGenerateColumns="False">
<c1:C1DataGrid.Columns>
<c1:DataGridTextColumn Header="Name" Binding="{Binding Name, Mode=TwoWay}"/>
<c1:DataGridTemplateColumn Header="ENGAGEMENT">
<c1:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox x:Name="cmbEngagement" ItemsSource="{Binding EDetails, Mode=TwoWay}" DisplayMemberPath="EName" SelectedItem="{Binding SelectedEName,Mode=TwoWay}">
</ComboBox>
</DataTemplate>
</c1:DataGridTemplateColumn.CellTemplate>
</c1:DataGridTemplateColumn>
</c1:C1DataGrid.Columns>
</c1:C1DataGrid>
SortedDetailsList представляет собой список сущности SortedDetails, который выглядит следующим образом: -
public class SortedDetails
{
Private string name;
Private ObservableCollection<details> eDetails;
Private details selectedEname;
public string Name
{
get { return name; }
set { name = value; }
}
public ObservableCollection<details> EDetails
{
get { return eDetails; }
set { eDetails = value; }
}
public details SelectedEname
{
get { return selectedEname; }
set { selectedEname = value; }
}
}
public class Details
{
Private string eName;
Private int eId;
public string EName
{
get { return eName; }
set { eName = value; }
}
public int EId
{
get { return eId; }
set { eId = value; }
}
}