WP7将复选框IsChecked绑定到sql数据库位C#

时间:2013-12-10 05:57:23

标签: c# sql wpf xaml data-binding

我正在尝试将复选框IsChecked属性绑定到存储在sql数据库中的位值作为Underlay。

页面的数据上下文是一个房间对象,从db中拉出strait,其中包含存储的位。

newPiv.DataContext = viewModel.db.Rooms.SingleOrDefault(r => r.RoomId == roomNumber);

xaml代码

<CheckBox x:Name="underlayCB" IsChecked="{Binding Underlay, Mode=TwoWay, UpdateSourceTrigger=Explicit}" />

数据库:

private System.Nullable<bool> _Underlay;
partial void OnUnderlayChanging(System.Nullable<bool> value);
partial void OnUnderlayChanged();
[Column(Storage = "_Underlay", DbType = "Bit")]
    public System.Nullable<bool> Underlay
    {
        get
        {
            return this._Underlay;
        }
        set
        {
            if ((this._Underlay != value))
            {
                this.OnUnderlayChanging(value);
                this.SendPropertyChanging();
                this._Underlay = value;
                this.SendPropertyChanged("Underlay");
                this.OnUnderlayChanged();
            }
        }
    }

我在同一页面上有几个其他绑定,并且应用程序中的其他页面都有效,有人可以告诉我我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

您已将Binding的{​​{1}}设置为UpdateSourceTrigger,这需要您致电Explicit您的设置者调用的方法是做什么的?为什么不将其保留为Binding.UpdateSource()Default

PropertyChanged的事件被提出了吗?

顺便提一句,而不是

INotifyPropertyChanged

你可以:

private System.Nullable<bool> _Underlay;