WPF属性值不同于绑定值
问题描述:
我有一个复选框,其IsEnabled属性绑定到其数据上下文的只读属性。但结果并非如预期的那样。实际上,该属性是在视图模型的构造函数WPF属性值不同于绑定值
中的任务(线程)中计算的我的印象是,计算值在某种程度上不同,但在检查snoop时,它显示复选框的IsEnabled属性为False,并且在数据上下文中标签该属性是True。
我相信这是由于线程和每当完成该线程执行前的视图加载时,它显示错误的值。
以前我用这对解决这个的希望结合
IsEnabled="{Binding IsFeatureAvailable}"
后来,我用这个
,但没有任何改变,任何建议
我使用框架版本4.5.2和MVVM的Caliburn micro
答
您应该实现t他INotifyPropertyChanged
接口,每当它设置为一个新值提高PropertyChanged
事件为IsFeatureAvailable
属性:
public class ViewModel : PropertyChangedBase
{
private _isFeatureAvailable;
public bool IsFeatureAvailable
{
get { return _isFeatureAvailable; }
set
{
_isFeatureAvailable = value;
NotifyOfPropertyChange(() => IsFeatureAvailable);
}
}
}
+0
@MegaMind:如果您的问题已解决,请记住接受该答案:https://*.com/help/someone-answers – mm8
你实现INotifyPropertyChanged接口?你如何设置源属性? – mm8
如果您正在使用MultiThreading,请考虑使用Dispatcher并在UI线程上触发通知。我遇到了这个问题,通知没有显示,因为我没有通过Dispatcher调用'OnPropertyChanged'。 – XAMlMAX