0
DataGridCell.Selected를 사용하여 코드에서 몇 가지 작업을 수행합니다. 내가DataGridCell.Selected 이벤트에 연결하는 방법?
private void ArticlesGrid_OnSelected(object sender, RoutedEventArgs e)
{
....
}
같은 방법을하지만 대신에 행동을 사용하려면 내가 어떻게 내 행동의 이벤트에 연결하는 어떤 생각이없는 뒤에
<DataGrid DataGridCell.Selected="ArticlesGrid_OnSelected>
그리고 내 코드에서
.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를 사용했지만 그게 좋은 방법인지는 모르겠다. (그것을 보여주기 위해 나의 첫 번째 포스트를 편집했다.) 일부 다른 DataGrids에서이 동작을 사용하고 싶기 때문에 비헤이비어를 사용하는 것이 좋습니다. –