【发布时间】:2021-06-19 23:16:20
【问题描述】:
好的,所以,我知道这个问题已经被以一种或另一种方式问过数百次了,但我发现没有一个对我有用。
Xaml:
<Label x:Name="valori" Text="{Binding Path=Stats, Mode=TwoWay}"/>
C#:
public partial class Page1 : ContentPage
{
public int Forza { get; set; }
public int Intelligenza { get; set; }
public int Sensibilità { get; set; }
private string stats;
public string Stats
{
get { return stats; }
set
{
stats = value;
OnPropertyChanged(nameof(Stats));
}
}
public Page1()
{
InitializeComponent();
valori.BindingContext = this;
Stats = $"Statistiche: Forza={Forza} Intelligenza={Intelligenza} Sensibilità={Sensibilità}";
}
}
Visual Studio 给我的唯一解释是,在 Xaml 中将鼠标悬停在“Stats”上时,
找不到“Stats”绑定的 DataContext 值。
【问题讨论】:
-
你的页面没有实现 INotifyPropertyChanged,所以调用 OnPropertyChanged 不会做任何事情。或者,您可以在设置属性值后分配 BindingContext
-
无法显示数据吗?
-
是的,当我运行应用程序时,字符串不存在。
-
我使用您的代码运行,但无法重现该问题。
标签: c# xamarin.forms data-binding label