我有一个名为“RFPGegevens”的自定义WPF属性类
public class RFPGegevens
{
private string _klant;
public String Klant
{
get { return _klant; }
set { _klant = value; }
}
}
在我的ViewModel中,我获得了一个属性RFPGegevens
private RFPGegevens _rfpGegevens;
public RFPGegevens RfpGegevens
{
get
{
if (_rfpGegevens == null)
_rfpGegevens = new RFPGegevens();
return _rfpGegevens;
}
set
{
_rfpGegevens = value;
base.RaisePropertyChangedEvent("RfpGegevens");
}
}
此属性已正确填写,如果我调试这是结果:
在我的视图中,我将属性“RFPGegevens”绑定到我的网格的datacontext
<Grid DataContext="{Binding RfpGegevens}">
并且如果我调试“Klant”属性字段仍然填充。
但是当我在View中绑定这个属性时,我的文本框仍然是空的。
<TextBox Text="{Binding Klant, Mode=TwoWay}"/>
我也尝试了这个但是没有看上去有效:
<TextBox Text="{Binding RFPGegevens.Klant, Mode=TwoWay}"/>
不知道我做错了什么。
在此先感谢;)
答案 0 :(得分:1)
尝试两件事
<TextBox Text="{Binding Klant, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
public class RFPGegevens
{
private string _klant;
public String Klant
{
get { return _klant; }
set {
_klant = value;
//Raise the property changed event here
}
}
}
答案 1 :(得分:1)
您还需要为自定义类实现INotifyPropertyChanged接口,如下所示:
public class RFPGegevens : INotifyPropertyChanged
并从属性的set访问器中提升propertychanged事件。
答案 2 :(得分:0)
您忘记从INotifyPropertyChanged
添加继承