1
我是Reactive Extension的粉絲,尤其是ReactiveUI 我在其他解決方案的項目中使用DP而不是我的DP。我想此轉換成含有這種可觀察到的DP類 是內部和自DependencyObject衍生因此我不能使用 Class.ObservableFromDP因爲類必須自FrameworkElement依賴屬性to observable
導出我有此溶液
public static IObservable<T> ToObservable<T>(this DependencyObject dependencyObject, DependencyProperty property)
{
return Observable.Create<T>(o =>
{
var des = DependencyPropertyDescriptor.FromProperty(property,
dependencyObject.
GetType());
var eh =
new EventHandler(
(s, e) => o.OnNext((T) des.GetValue(dependencyObject)));
des.AddValueChanged(dependencyObject, eh);
return() => des.RemoveValueChanged(dependencyObject, eh);
});
但目標類是內部的,我不能在這個類
我怎樣才能得到可觀察從這個屬性訪問屬性的DependencyProperty
是否有任何方法作爲
obj.ObservableFromDP(x=>x.ActiveEditor)
對obj的工作不是從FrameworkElement派生的?
保羅,請問你?爲什麼從ReactiveUI 4中刪除ObservableFromDP而不是棄用? – takayoshi
它不被刪除,只是泛化。 「WhenAny」現在可以與DependencyObjects和DependencyProperties一起使用,而不僅僅是ViewModel對象。同樣的功能在那裏,名字就不一樣了 –