|
<kanban:SfKanban x:Name="kanban"
ItemsSource="{Binding Tasks}" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="CardDragEnd">
<i:InvokeCommandAction Command="{Binding CardDragEnd}" CommandParameter="{Binding ElementName=kanban}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</kanban:SfKanban> |
|
public class SwimlaneViewModel : INotifyPropertyChanged
{
…
private ICommand cardDragEnd;
public ICommand CardDragEnd
{
get
{
return cardDragEnd ?? (cardDragEnd = new RelayCommand(CanExecute));
}
}
private bool canExecute;
public void CanExecute(object parameter)
{
SfKanban sfKanban = parameter as SfKanban;
PropertyInfo property = null;
if (sfKanban != null)
{
property = sfKanban.GetType().GetProperty("SelectedCard", BindingFlags.Instance | BindingFlags.NonPublic);
}
KanbanCardItem kanbanCardItem = null;
if (property != null)
{
kanbanCardItem = (KanbanCardItem)property.GetValue(sfKanban);
}
KanbanModel selectedCardContent = null;
if (kanbanCardItem != null)
{
selectedCardContent = kanbanCardItem.Content as KanbanModel;
}
if (selectedCardContent != null)
{
MessageBox.Show("Card Title:" + selectedCardContent.Title);
}
}
…
} |