2010-06-04 110 views

回答

2

WPF可以綁定到任何CLR對象(或通過CLR公開的COM對象),包括泛型類的實例。該對象可以選擇實現INotifyPropertyChanged或DependencyObject子類,以便綁定檢測其屬性的更改。如果沒有,則在評估綁定時,屬性值會被複制一次,但不會被更新。

從技術上講,WPF不會「綁定到類」:它綁定到一個對象,該對象是該類的一個實例。所以從字面上看,你的問題的答案是「不」,但我假設你問的是它是否可以綁定到一個泛型類的實例,在這種情況下答案是「是」。

對於泛型類,WPF的確存在限制:XAML解析器不能創建泛型類的實例或在{x:Type }標記擴展中引用它們,因此對於大多數用於XAML的用途,您必須創建泛型類和引用的具體子類在你的XAML中。此例外是XAML中最外面的元素可以使用x:TypeArguments屬性來指定泛型類。

1

當然,爲什麼不呢? Class<T>只是一種類型。應該綁定得很好。

1

WPF可以綁定到CLR對象。被暴露的屬性應該支持通知(ala,INotifyPropertyChanged),或者應該是一個處理該類型的類型(ala,ObservableCollection)。

通過這些適當的對象應爲數據提供更好地服務。