例如
class child : ObservableObject{
private int _prop;
public int prop{
get {
return _prop;
}
set {
_prop=value;
OnPropertyChanged("prop");
}
}
class parent : ObservableObject{
private child _mychild;
public child mychild{
get {
return _mychild;
}
set {
_mychild=value;
OnPropertyChanged("mychild");
OnPropertyChanged("pow");
}
}
public int pow{
return _mychild.prop*2;
}
}
parent myobj;
myobj.child.prop=1;
如何通知bar.z已更新?我已经绑定了嵌套属性并更新了视图,但是绑定了bar.pow的部分没有得到更新。
<Textbox Text={Binding myobj.child.prop}/>
<Textbox Text={Binding myobj.pow}/>
即时通讯试图在更新第一个文本框时更新第二个文本框。
答案 0 :(得分:-1)
您必须在父对象中预订子对象的active_sessions = Session.objects.filter(expire_date__gte=timezone.now())
user_list = User.objects.filter(
id__in=[session.get_decoded().get('_auth_user_id', None) for session in active_sessions]
).values_list('username', flat=True)
tot_active_sessions = active_sessions.count()
if tot_active_sessions > _sessions_limit:
logout(request)
return render(request, 'page/users.html', context={'user_name_list': user_list })
,并在事件处理程序中通知active_sessions = Session.objects.filter(expire_date__gte=timezone.now())
uids=[session.get_decoded().get('_auth_user_id', None) for session in active_sessions]
tot_active_sessions = active_sessions.count()
if tot_active_sessions > _sessions_limit:
user_dict = dict(
User.objects.filter(
id__in=uids
).values_list('id', 'username'))
user_list = [user_dict.get(_id) for _id in uids]
logout(request)
return render(request, 'page/users.html', context={'user_name_list': user_list })
的哪些属性受到了影响。不要忘记取消订阅先前的对象。
PropertyChanged