簡體   English   中英

如何將簡單字符串 object 綁定到 Label Xamarin Z6450242531912981C3683CAE8Z 中的文本

[英]How to bind simple string object to a Label Text in Xamarin Forms?

我是 Xamarin 開發的新手,如果問題看起來太簡單,請多多包涵。 我的 C# 代碼(后面的代碼)中有一個簡單的單string object。 我想將它綁定到Label中的 Label 以便每當字符串更改時,它都會反映在 XAML 頁面中。

這是我的 C# 代碼

public string Name { get; set; }

public HomePage()
{
    InitializeComponent();
    BindingContext = this;
    Name = "John";
}

這是我的 XAML 代碼

<Label Text="{Binding Name}" />

我該怎么做。 我做錯什么了嗎?

了解 MVVM 模式以及如何執行數據綁定非常重要。 你可以看到這個鏈接: https://docs.microsoft.com/en-us/xamarin/xamarin-forms/xaml/xaml-basics/data-bindings-to-mvvm

基本上,你可以這樣做:

為您的主頁創建一個 ViewModel。

public class HomePageViewModel : INotifyPropertyChanged
{
    private string name;
    public string Name
    {
        get
        {
            return name;
        }
        set
        {
            name = value;
            OnPropertyChanged(nameof(Name));
        }
    }
    public HomePageViewModel()
    {
        // some initialization code here ...
        Name = "John";
    }

    public event PropertyChangedEventHandler PropertyChanged;
    protected virtual void OnPropertyChanged(string propertyName)
    {
        PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
    }

}

現在將您的 ViewModel 附加到主頁視圖

public HomePageView()
{
    InitializeComponent();
    BindingContext = new HomePageViewModel();
}

然后在您的 XAML 中,您可以像這樣進行綁定:

<Label Text="{Binding Name}" />

然后每當 ViewModel 中的Name發生變化時,它都會反映在 XAML 視圖中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM