【问题标题】:Xamarin Label binding doesn't find DataContextXamarin 标签绑定找不到 DataContext
【发布时间】: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


【解决方案1】:

您可以尝试使用 .DataContext 代替 bindingcontext 吗?不确定这是否有效

【讨论】:

  • Visual Studio 无法识别 DataContext,因为它识别 BindingContext,所以我不确定它是否有任何帮助...
猜你喜欢
  • 2019-03-19
  • 2021-08-17
  • 1970-01-01
  • 2016-09-25
  • 1970-01-01
  • 1970-01-01
  • 2023-01-29
  • 2018-11-15
  • 2016-01-28
相关资源
最近更新 更多