IBindableComponent実装

今日は非コントロールクラスのデータバインド対応でちょっとハマった。

IBindableComponentインタフェースの実装でミスってて、
各プロパティのgetterで無ければ新規インスタンスをちゃんと返してなかっただけの話だった。 ;_;
忘れそうなのでメモっとく。

#あと、INotifyPropertyChangedの実装やら、Binding作成時のDataSourceUpdateMode.OnPropertyChangedあたりの設定も忘れずに。。。

インタフェースの実装部分

       #region IBindableComponent Members

        BindingContext bindingContext;
        public BindingContext BindingContext
        {
            get
            {
                if (this.bindingContext == null)
                {
                    this.bindingContext = new BindingContext();
                }
                return this.bindingContext; 
            }
            set { this.bindingContext = value; }
        }

        private ControlBindingsCollection dataBindings;
        public ControlBindingsCollection DataBindings
        {
            get{
                if (this.dataBindings == null)
                {
                    this.dataBindings = new ControlBindingsCollection(this);
                }
                return this.dataBindings; 
            }
            set { this.dataBindings = value; }
        }

        #endregion