かずきのBlog@hatena

日本マイクロソフトに勤めています。このブログは個人ブログなので、ここに書いている内容は個人的な意見で会社の公式見解ではない点にご注意ください。好きなものは XAML と C# 。苦手なものは型の無い言語です。

ReactiveProperty v2.1.2をリリースしました

NuGet Gallery | ReactiveProperty 2.1.2

v2.1.2

追加

  • ObservableCollection と ReadOnlyObservableCollection の要素のプロパティ変更を監視する ObserveElementProperty 拡張メソッドを実装しました。
  • INotifyCollectionChanged に対して ObserveXxxChanged 拡張メソッドを追加しました。

変更

  • ToReadOnlyReactiveCollection 拡張メソッドから参照型制約を除去しました。

ちょっと解説

ObserveElementProperty拡張メソッドは、以下のようなクラスがあるときに

public class Person : BindableBase
{
  private bool isDelete;
  public bool IsDelete
  {
    get { return this.isDelete; }
    set { SetProperty(ref isDelete, name); }
  }
}

コレクションの中の要素に対してプロパティの変更の監視が出来ます。

var c = new ObservableCollection<Person>();
c.Add(new Person());
c.Add(new Person());
c.Add(new Person());

c.ObserveElementProperty(x => x.IdDelete).Subscribe(x => ...);

c[0].IsDelete = true; // subscribeに通知がいく