我正在尝试将一个checkboxs IsChecked属性绑定到存储在sql数据库中的位值作为底层。
页面的数据上下文是一个房间对象,从数据库中提取,其中包含存储的位。
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();
}
}
}我有其他几个绑定在同一个页面和应用程序中的其他页面都能工作,有人能告诉我我错过了什么吗?
发布于 2013-12-10 06:14:36
您已经将Binding的UpdateSourceTrigger设置为Explicit,这要求您调用Binding.UpdateSource(),做一个您的设置器调用的方法,为什么不将其保留为Default或PropertyChanged?
INotifyPropertyChanged的活动召开了吗?
顺带一提而不是
private System.Nullable<bool> _Underlay;你可以拥有:
private bool? _Underlay;https://stackoverflow.com/questions/20487237
复制相似问题