Есть датагрид со столбцом, состоящим из комбобокса :
<DataGridTemplateColumn Header="Change Status" Width="*" IsReadOnly="False" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox>
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction Command="{Binding ChangeStatus}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
<ComboBoxItem Content="Received" IsSelected="True"/>
<ComboBoxItem Content="InWork"/>
<ComboBoxItem Content="Closed"/>
<ComboBoxItem Content="Complited"/>
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
При смене значения SelectionChanged
в боксе должна сработать команда :
public RelayCommand ChangeStatus
{
get
{
return new RelayCommand(()=>
{
MessageBox.Show//
});
}
}
Не срабатывает. Но если я просто сделаю комбобокс, отдельно от грида то команда выполниться. Подскажите Как исправить ?
Измените Binding
в EventTrigger
c:
<i:InvokeCommandAction Command="{Binding ChangeStatus}"/>
на:
<i:InvokeCommandAction Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type DataGrid}}, Path=DataContext.ChangeStatus}" />
и будет вам счастье )
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Коллеги, здравствуйте! Имею вот такой кодИдет постоянная утечка памяти, поскольку через данное соединение передаются jpeg'ги
Всем приветПодскажите как правильно установить ember-cli-pagination, что бы он работал
Друзья, портирую расширение из Chrome на FirefoxУ FF много своих особенностей с которыми нужно как то найти общий язык