在xamarin中获取属性集时应用程序中断

在xamarin中获取属性集时应用程序中断,xamarin,xamarin.forms,Xamarin,Xamarin.forms,我是Xamarin的新手。我创建了一个测试应用程序,其中文本字段中的数据将更新标签,当我通过模型将标签值设置为静态时,它运行良好,但当我尝试动态更新标签值时,应用程序会中断 类属性:INotifyPropertyChanged { 公共字符串Res{get;set;}//这很好用。 公共字符串部 { get{return Dept;}///这会导致应用程序中断,甚至不会通知任何错误 设置 { if(Dept!=值) { 部门=价值; 物业变更(部门名称); } }///这会导致应用程序中断,甚

我是Xamarin的新手。我创建了一个测试应用程序,其中文本字段中的数据将更新标签,当我通过模型将标签值设置为静态时,它运行良好,但当我尝试动态更新标签值时,应用程序会中断

类属性:INotifyPropertyChanged
{
公共字符串Res{get;set;}//这很好用。
公共字符串部
{
get{return Dept;}///这会导致应用程序中断,甚至不会通知任何错误
设置
{ 
if(Dept!=值)
{
部门=价值;
物业变更(部门名称);
}
}///这会导致应用程序中断,甚至不会通知任何错误
}
公共事件属性更改事件处理程序属性更改;
受保护的虚拟void OnPropertyChanged(字符串propertyName)
{
var propertyChangedCallback=PropertyChanged;
propertyChangedCallback?.Invoke(这是新的PropertyChangedEventArgs(propertyName));
}

非常感谢您的帮助。

问题在于您有一个无限循环

这是因为您正在访问自己的getter和setter中的属性
Dept
。这将无限次地尝试调用getter或setter,最终崩溃

要解决此问题,您必须添加一个支持字段,如:

private string\u dept;
公共字符串部
{
获取=>\u部门;
设置
{
如果(_dept!=值)
{
_部门=价值;
物业变更(部门名称);
}
}
}

问题在于您有一个无限循环

这是因为您正在访问自己的getter和setter中的属性
Dept
。这将无限次地尝试调用getter或setter,最终崩溃

要解决此问题,您必须添加一个支持字段,如:

private string\u dept;
公共字符串部
{
获取=>\u部门;
设置
{
如果(_dept!=值)
{
_部门=价值;
物业变更(部门名称);
}
}
}

谢谢,我被搞砸了3个小时。我不知道我只是错过了一个小角色。谢谢,我被搞砸了3个小时。我不知道我只是错过了一个小角色。