2009-04-29 82 views
7

我已經下載了WPFToolkit,並且使用了此包中提供的DataGrid。 我試圖在行被刪除時動畫行消失,但我不知道該怎麼做。有誰知道它是如何做到的?WPFToolKit DataGrid中動畫行消失

回答

2

這是WPF中可能非常棘手的事情 - 儘管你的老闆會認爲它應該很容易 - 因爲WPF應該能夠實現動畫和引人注目的視覺效果。畢竟,在網絡上有各種令人敬畏的Silverlight/WPF演示,看起來不錯,真正推銷這種技術。當然,你的老闆不知道的是,這些演示是爲了炫耀簡單,華麗的功能而編寫的。然而,與標準有所不同的是,有一種非常困難的骯髒方式。

但足夠的咆哮,我給你一個可能的方法,雖然有可能是一個更好的一個:

讓我們假設你已經綁定的DataGrid中的一些類型的集合,併爲便於討論,讓我們假設它有一個Foo對象的列表,即List<foo> MyFoos。然後你可以給FOO類添加一個名爲BeingDeleted的屬性。然後在DataRowView的模板中,觸發此屬性以開始動畫顯示該特定行的淡出或摺疊的故事板。這是一種嚴重的錯誤,因爲它意味着向Foo對象添加一個屬性,否則可能與它無關。你也可以創建一個特殊的包裝或Foo的子類。

+0

這就是我最終決定實現這一點的方式。綁定列表同步存在一些問題(因爲同步器應該知道忽略「幾乎刪除」的項目),並且我還需要在動畫結束時實際刪除這些項目。最後的結果是有點混亂(一切都緊密結合),但我想沒有其他解決方案。 – Andy 2009-06-03 10:02:22