Привязать событие к ViewModel

Я использую платформу WPF и PRISM для своего приложения. Я использую шаблон MVVM (Model - View - ViewModel), и я пытаюсь перенести событие MouseLeftButtonUp из кода программной части в View в ViewModel (так что событие будет соответствовать правилам MVVM). На данный момент у меня есть это:

View.xaml:

<DataGrid x:Name="employeeGrid" Height="250" Margin="25,0,10,0" ItemsSource="{Binding DetacheringenEmployeesModel}" IsReadOnly="True" ColumnHeaderStyle="{DynamicResource CustomColumnHeader}" AutoGenerateColumns="False" RowHeight="30">
        <i:Interaction.Triggers>
            <i:EventTrigger EventName="MouseLeftButtonUp">
                 <i:InvokeCommandAction Command="{Binding EmployeeGrid_MouseLeftButtonUp}" />
            </i:EventTrigger>
        </i:Interaction.Triggers>
<DataGrid.Columns>

View.xaml.cs (код программной части):

public partial class UC1001_DashBoardConsultants_View
{
    public UC1001_DashBoardConsultants_View(UC1001_DashboardConsultantViewModel viewModel)
    {
            InitializeComponent();
            DataContext = viewModel;
    }
}

ViewModel.cs:

 public void EmployeeGrid_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
 {
     // insert logic here
 }

Основная идея заключается в том, что когда я нажимаю на ячейку в DataGrid, событие сработает. Я сначала попробовал это в коде позади, и это сработало. Я так далеко зашел с EventTriggers, но когда я отлаживаю и нажимаю на ячейку, мой отладчик не входит в метод.

Есть ли у кого-нибудь идеи, как это исправить? Заранее спасибо!

PS: Он также работает с параметром (отправитель объекта), когда я так делаю? Потому что мне нужен DataGrid в моей ViewModel, чтобы получить ActiveCell, на который я только что нажал.

РЕДАКТИРОВАТЬ:

Связывание событий работало с командой!

У меня в DataGrid есть следующее:

<DataGridTextColumn Header="Okt" Width="*" x:Name="test" >
     <DataGridTextColumn.ElementStyle>
           <Style TargetType="{x:Type TextBlock}">
             <Setter Property="Tag" Value="{Binding Months[9].AgreementID}"/>

Как я могу привязать свойство Tag к ViewModel? Я знаю, что он уже привязан к ViewModel, но, как вы можете видеть, значение поступает из массива / списка, а значение для каждого столбца отличается.

7
задан Uwe Keim 19 November 2016 в 19:46
поделиться