2009-05-22 5 views
1

좋아요,이 작업을 수행하는 데 2 ​​일을 소비했으며 지금까지 'FAIL'점수를 얻었습니다.새 레코드의 배경에 애니메이션을 추가하면 XamDataGrid에 추가됩니다.

디자인은 이것이다 :

  1. 뷰 모델 클래스는 사람들이라는 공공 ObservableCollection에 속성을 노출합니다.

    1. 보기가 새 레코드 등의 배경을 애니메이션
    2. 뷰 모델의 컬렉션에 새로운 사람을 추가 :
    3. XAML 뷰가이 속성

    원하는 동작에 바인딩하는 것은 이것이다 기본적으로 XamDataGrid에 나타나며 기본적으로 2 초 동안 빨간색으로 깜박입니다.

그리드의 InitializeRecord를 EventTrigger의 RoutedEvent 속성에 후킹 해 보았습니다. 아무 소용이 없습니다. (잘못된 이벤트 이름이므로 RoutedEvent가 아닌 것으로 가정합니다.)

또한 MVVM을 최대한 유지하려고 노력 중이므로 코드 숨김 변경이 필요한 솔루션을 피하고 싶습니다. XAML 만하시기 바랍니다.

답변

1

People 클래스에 속성을 추가합니다 (예 : newRow). 그런 다음 newRow 속성에 데이터 트리거를 사용하여 CellValuePresenter에 새 스타일을 적용하여 배경색을 원하는대로 변경합니다. 내부적으로 newRow의 값을 변경하여 트리거를 비활성화 할 수 있습니다.

<DataTrigger Binding="{Binding .DataItem[IsRecentUpdate]}" Value="True"> 
     <Setter Property="Background" Value="#FFFFE87C" /> 
     <Setter Property="BackgroundHover" Value="#FFFFE87C" /> 
     <Setter Property="BackgroundActive" Value="#FFFFE87C" /> 
     <Setter Property="BackgroundSelected" Value="#FFFFE87C" /> 
    </DataTrigger> 
관련 문제