0
我正在使用DataGridCell.Slected在我的代碼背後做一些事情。如何在行爲中附加DataGridCell.Selected事件?
在我後面的代碼我有一個像
private void ArticlesGrid_OnSelected(object sender, RoutedEventArgs e)
{
....
}
的方法,但我想用一種行爲,而不是和我沒有任何想法如何連接到我的行爲的事件。
public class MyBehavior : Behavior<DataGrid>
{
protected override void OnAttached()
{
//don't know how to attach to the event
}
protected override void OnDetaching()
{
}
}
對於測試,我在我的OnAttached方法中使用了這段代碼。
EventManager.RegisterClassHandler(AssociatedType, DataGridCell.SelectedEvent, new RoutedEventHandler(ArticlesGrid_OnSelected));
但我不知道如何刪除我的OnDetaching方法中的這個事件處理程序。
我知道的AssociatedObject的,但我不知道,如果你的事件是我使用的XAML相同。 –
這是事實,這是一個不同的事件。從行爲中訂閱它並不那麼簡單,因爲它不在可視化樹上(與DataGrid相反)。要做到這一點,你可以你EventTrigger http://www.codeproject.com/Articles/125188/Using-EventTrigger-in-XAML-for-MVVM-No-Code-Behind –
我用EventManager來獲得相同的事件,但我不知道這是否是一個好方法(編輯我的第一篇文章來展示它)。 會很高興使用一種行爲,因爲我想在其他一些DataGrid中有這種行爲,並且行爲很好並且易於附加。 –