C# WPF文本框文本更新
(我知道有人就此提出问题,但正如你在我的问题中所看到的,我认为我尝试了解决方案,但没有成功) 简单地说,我正在尝试将文本框中的文本与视图模型绑定 视图模型中的代码:C# WPF文本框文本更新,c#,wpf,xaml,C#,Wpf,Xaml,(我知道有人就此提出问题,但正如你在我的问题中所看到的,我认为我尝试了解决方案,但没有成功) 简单地说,我正在尝试将文本框中的文本与视图模型绑定 视图模型中的代码: public class MainClass :INotifyPropertyChanged { ... public event PropertyChangedEventHandler PropertyChanged; protected void onPropertyChanged (string pro
public class MainClass :INotifyPropertyChanged
{
...
public event PropertyChangedEventHandler PropertyChanged;
protected void onPropertyChanged (string propertyName)
{
var handler = PropertyChanged;
if (handler != null) {
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
private string _Stuff ="Original Value";
public string Stuff {
get { return _Stuff; }
private set {
if (value != _Stuff)
{
_Stuff = value;
Method();
OnPropertyChanged("Stuff");
}
}
}
}
还有XAML
<TextBox Text="{Binding Stuff,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
</TextBox>
现在,绑定的工作方式有一种,即当XAML首次初始化时,文本框中填充“原始值”。但是,当我更改框中的值时(即使我失去了对它的关注),字段也不会更新(我可以看出,首先,方法没有被调用,而且当我使用调试器时,我可以看到值没有更改)
我做错了什么
编辑:我忘了提到上下文是在控制器中设置的,而且显然正在工作,因为正如我所说的,绑定是单向工作的。
您的问题可能在这里:
public string Stuff {
get { return _Stuff; }
private set {
if (value != _Stuff)
{
_Stuff = value;
Method();
OnPropertyChanged("Stuff");
}
}
}
您的setter是
private
,请删除private
,它应该可以工作。您的问题可能在这里:
public string Stuff {
get { return _Stuff; }
private set {
if (value != _Stuff)
{
_Stuff = value;
Method();
OnPropertyChanged("Stuff");
}
}
}
您的setter是
private
,请删除private
,它应该会工作。我希望您有一个美好的一天,因为您刚刚保存了我的文件。谢谢,很高兴能提供帮助!:-)我希望你有一个美好的一天,因为你刚刚救了我谢谢你,很高兴能帮助我!:-)